μλ‘μ΄ κ° κ³μ°νκΈ°
κΈ°μ‘΄ λ°μ΄ν° λΆλ¬μ€κΈ°
ν리λλ /μλ©μ΄ λλ λ‘ λΉλ§λλ₯Ό κ³μ°νλ€.
round()
ν¨μλ₯Ό μ¬μ©ν΄ μμμ 2λ²μ§Έ μ리κΉμ§ νμλκ² λ§λ λ€.
μλ‘μ΄ μ»¬λΌμ λ§λ€μ΄ μ μ₯ν΄μ€λ€.
μ΄λ° μλ‘μ΄ λ°μ΄ν°λ‘ λΉλ§λμ λΉλ¨(diabetes) μ¬μ΄μ μ΄λ€ μκ΄κ΄κ³κ° μλμ§λ μμλ³Ό μ μκ² λ€.
μ€μ΅ 1
import pandas as pd
patient_df = pd.read_csv('data/patient.csv')
# μ¬κΈ°μ μ½λλ₯Ό μμ±νμΈμ.
bmi = round(patient_df['weight'] / (patient_df['height'] * patient_df['height']), 1)
patient_df['bmi'] = bmi
patient_df
μ κ³±μ **2λΌκ³ νννλ λ°©λ²μ λͺ°λλ€. κΈ°μ΅ν΄λ¬μΌμ§.
# λͺ¨λ²λ΅μ
import pandas as pd
patient_df = pd.read_csv('data/patient.csv')
patient_df['bmi'] = round(patient_df['weight'] / patient_df['height']**2, 1)
patient_df
μ κ·ν
μ€μΌμΌλ§
μ€μΌμΌλ§ λ°©λ²
1. μ κ·ν
2. νμ€ν
μ κ·ν λ°©λ²
μμ μ¨μλλλ‘ μμ μμ±ν΄μ£Όλ€κ° λ무 κΈΈμ΄μ μν°λ₯Ό μΉλ μ€λ₯κ° λλ€
\
μμ¬λμλ₯Ό μ¨μ£Όλ μλ¬κ° μ¬λΌμ§λ€.
μ κ·νν κ°μ μ μ₯ν΄μ£Όκ³ νμΈν΄λ³Έλ€.
μ€μ΅ 1
import pandas as pd
patient_df = pd.read_csv('data/patient.csv')
# μ¬κΈ°μ μ½λλ₯Ό μμ±νμΈμ.
patient_df['weight'] = (patient_df['weight'] - patient_df['weight'].min()) / \
(patient_df['weight'].max() - patient_df['weight'].min())
patient_df
νμ€ν
κΈ°λ³Έ λ°μ΄ν°
νκ· κ° / νμ€νΈμ°¨
κ³μ°ν κ°μ μ μ₯ν΄μ£Όκ³ νμΈ
νμ€νκ° μ λλ‘ λμλ€λ©΄, νκ· μ 0, νμ€νΈμ°¨λ 1μ΄ λλ€.
https://www.codeit.kr/tutorials/143/scientific-notation-and-fixed-point-notation
κ³Όνμ νκΈ°λ²κ³Ό κ³ μ μμμ νκΈ°λ² | μ½λμ
| pandasλ₯Ό μ¬μ©νλ€ λ³΄λ©΄ μ«μκ° `2.424625e-17`, `6.974262e-01`... μ΄λ° μμΌλ‘ μΆλ ₯λ λκ° μμ΅λλ€. μ΄κ±΄ 'κ³Όνμ νκΈ°λ²(Scientific Notation)'μ΄λΌλ λ°©λ²μΌλ‘ μ«μλ₯Ό ννν κ²λλ€. κ³Όνμ νκΈ°λ²μ μ«μ
www.codeit.kr
μ 리
μ€μ΅ 1
import pandas as pd
patient_df = pd.read_csv('data/patient.csv')
# μ¬κΈ°μ μ½λλ₯Ό μμ±νμΈμ.
patient_df['weight'] = (patient_df['weight'] - patient_df['weight'].mean()) / \
patient_df['weight'].std()
patient_df
cut()ν¨μλ‘ λ°μ΄ν° ꡬκ°ννκΈ°
κΈ°λ³Έ λ°μ΄ν°
λμ΄ κ΅¬κ°μ μ§μ νκΈ° μν΄ μ΅μκ°κ³Ό μ΅λκ°μ νμΈνλ€.
pd.cut()
νλ€μ€μ cut ν¨μλ₯Ό μ΄μ©ν΄ ꡬκ°μ μ§μ ν΄μ€λ€.
κ·ΈλΌ 20-30, 30-40 .. μ΄λ κ² λλμ΄μ§ κ±Έ νμΈν μ μλ€.
μλ‘μ΄ μ»¬λΌμ μ μ₯ν΄μ€λ€.
κ²°κ³Όλ₯Ό νμΈν΄λ³΄λ©΄ NaNκ°μ΄ μλ€.
(40.0, 50.0] μ λ³Ό λ κ΄νΈμ μλ―Έλ 40μ ν¬ν¨νμ§ μκ³ 50μ ν¬ν¨νλ€λ μλ―Έμ΄λ€.
'(' μκ΄νΈλ λ―Έλ§/μ΄κ³Ό, ']'λκ΄νΈλ μ΄ν/μ΄μμ΄λΌλ λ»μ΄λ€.
κ·Έλμ 20μ΄μΈ νμμ λμ΄ κ·Έλ£Ήμ΄ NaNμ΄ λμ€κ² λ κ²μ΄λ€.
right = False
right νλΌλ―Έν°μ κΈ°λ³Έκ°μ Trueκ³ , κ·Έ κ²½μ° μμ²λΌ λμ¨λ€. μ΄λ₯Ό Falseλ‘ λ°κΏμ£Όλ©΄ 50μ΄μ 60λ―Έλ§μΌλ‘ λ³κ²½λλ€.
labels
labels νλΌλ―Έν°λ₯Ό μ΄μ©ν΄μ 보기 μ’κ² λ§λ€μ΄μ€ μλ μλ€.
μ€μ΅ 1
import pandas as pd
import numpy as np
patient_df = pd.read_csv('data/patient.csv')
patient_df['bmi'] = round(patient_df['weight'] / patient_df['height']**2, 1)
# μ¬κΈ°μ μ½λλ₯Ό μμ±νμΈμ.
bmi_max = patient_df['bmi'].max() + 1 #BMI λμ
patient_df['obesity'] = pd.cut(patient_df['bmi'], bins=[0, 18.5, 25, 30, bmi_max], right=False, labels=['under','healthy','over','obese'])
patient_df
apply()
import pandas as pd
df = pd.DataFrame([[1, 9], [4, 16]], columns=['column1', 'column2'])
df
import numpy as np
np.sqrt(9) # μΆλ ₯ λ΄μ© -> 3.0
df['column2'].apply(np.sqrt)
0 3.0
1 4.0
Name: column2, dtype: float64
μ€μ΅
patient_df = pd.read_csv('data/patient.csv')
patient_df.head()
def group_age(x):
if x >= 10 and x < 20:
return '10s'
elif x >= 20 and x < 30:
return '20s'
elif x >= 30 and x < 40:
return '30s'
elif x >= 40 and x < 50:
return '40s'
elif x >= 50 and x < 60:
return '50s'
else:
return '60s'
patient_df['age_group'] = patient_df['age'].apply(group_age)
μ½λμ 16. μ«μλ°μ΄ν° κ°κ³΅νκΈ°
'λ§μΌν > λ°μ΄ν° λΆμ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[νμ΄μ¬] λ°μ΄ν° ν©μΉκΈ° (0) | 2025.03.14 |
---|---|
[νμ΄μ¬] λ μ§μ μκ° λ°μ΄ν° λ€λ£¨κΈ° (0) | 2025.03.14 |
[νμ΄μ¬] λ¬Έμ λ°μ΄ν° κ°κ³΅νκΈ° (0) | 2025.03.13 |
[νμ΄μ¬] λ°μ΄ν° λ€λ¬κΈ° (0) | 2025.03.13 |
[νμ΄μ¬] DataFrame κΈ°λ³ΈκΈ° (0) | 2025.03.13 |