import pandas as pd
import seaborn as sns
df: pd.DataFrame = sns.load_dataset('titanic')
df.head(2)
survived | pclass | sex | age | sibsp | parch | fare | embarked | class | who | adult_male | deck | embark_town | alive | alone | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | 3 | male | 22.0 | 1 | 0 | 7.2500 | S | Third | man | True | NaN | Southampton | no | False |
1 | 1 | 1 | female | 38.0 | 1 | 0 | 71.2833 | C | First | woman | False | C | Cherbourg | yes | False |
df = df.loc[:, ['age', 'fare']]
df.head()
age | fare | |
---|---|---|
0 | 22.0 | 7.2500 |
1 | 38.0 | 71.2833 |
2 | 26.0 | 7.9250 |
3 | 35.0 | 53.1000 |
4 | 35.0 | 8.0500 |
def add_two_obj(row: pd.Series):
return row['age'] + row['fare']
df['add'] = df.apply(add_two_obj, axis=1) # axis=1 : 인자로 넘기는 Series의 index가 원래 DataFrame의 columns임
df.head().round(2) # round(2) : 반올림해서 소수점 2번째 자리 까지만 표시
age | fare | add | |
---|---|---|---|
0 | 22.0 | 7.25 | 29.25 |
1 | 38.0 | 71.28 | 109.28 |
2 | 26.0 | 7.92 | 33.92 |
3 | 35.0 | 53.10 | 88.10 |
4 | 35.0 | 8.05 | 43.05 |
df['add2'] = df.apply(lambda x : x['age'] + x['fare'], axis=1) # lambda 활용
df.head().round(2) # round(2) : 반올림해서 소수점 2번째 자리 까지만 표시
age | fare | add | add2 | |
---|---|---|---|---|
0 | 22.0 | 7.25 | 29.25 | 29.25 |
1 | 38.0 | 71.28 | 109.28 | 109.28 |
2 | 26.0 | 7.92 | 33.92 | 33.92 |
3 | 35.0 | 53.10 | 88.10 | 88.10 |
4 | 35.0 | 8.05 | 43.05 | 43.05 |