4 回答
TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超9個(gè)贊
您可以使用map:
age_dict={1:35, 2:30, 3:25}
# read csv
df = pd.read_csv('in_file.csv')
# update the missing ages
df['Age'] = df['Age'].fillna(df['Class'].map(age_dict))
# save csv
df.to_csv('out_file.csv')
TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超1個(gè)贊
享受:
df['Age'] = np.where((df.Age.isnull() == True) & (df.Pclass==1), 35, df['Age])
df['Age'] = np.where((df.Age.isnull() == True) & (df.Pclass==2), 30, df['Age])
df['Age'] = np.where((df.Age.isnull() == True) & (df.Pclass==3), 25, df['Age])
TA貢獻(xiàn)1936條經(jīng)驗(yàn) 獲得超7個(gè)贊
我想這樣的事情應(yīng)該有效,
df['Age'][ df['Age'].isnull() & df['lass'] == 1] = 35
df['Age'][ df['Age'].isnull() & df['lass'] == 2] = 30
df['Age'][ df['Age'].isnull() & df['lass'] == 3] = 25
TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊
在導(dǎo)入pandas之前先將csv文件轉(zhuǎn)換成如下圖:
Age,Class
32,2
26,3
,1
36,1
24,3
,2
,3
現(xiàn)在導(dǎo)入 csv 文件并將值分配給 Nan。
import pandas as pd
df = pd.read_csv(YOUR_CSV_FILE)
df.loc[ (df.Age.isna()) & (df.Class==1) ] = 35,1
df.loc[ (df.Age.isna()) & (df.Class==2) ] = 30,1
df.loc[ (df.Age.isna()) & (df.Class==3) ] = 25,1
- 4 回答
- 0 關(guān)注
- 187 瀏覽
添加回答
舉報(bào)
