【发布时间】:2021-07-31 16:23:16
【问题描述】:
我有一个 dataframe,其中包含男性和女性的属性列。有一列df['long_hair'] 与0=no 和1=yes。我想根据它的性别填写此列中的缺失值。这是我的代码。但是,问题是,就地不适用于条件语句列。那么我该怎么做呢?
df[df['Male']==1]['long_hair'].fillna(0,inplace=True)
此代码表示获取男性并用 0 填充缺失值(表示他们没有长头发)。
【问题讨论】:
-
df.loc[df['Male']==1,"long_hair"].fillna(0,inplace=True)工作吗? -
我试过了,还是不行。
-
我尝试应用 lambda 函数,但它没有填补缺失的值。
-
你当然可以直接分配它,即
df.loc[df['Male']==1,"long_hair"] =df.loc[df['Male']==1,"long_hair"]. fillna(0),但奇怪的是原地不起作用 -
是的,不知何故我明白了,但谢谢你的帮助!