我有一个包含nan值的数据集。这些值依赖于另一个变量,我正试图用它来清理数据。我写了一个代码来替换nan值,但它不起作用。代码为:
df.loc[(df["house"]=="rented") & (df["car"]=="yes")]["debt"].fillna(2, inplace=True)
https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.loc.html
返回列标签指定为的布尔序列的条件
df.loc[df['shield'] > 6, ['max_speed']]
max_speed
sidewinder 7
根据文件,应将其转换为:
df.loc['filter','selected column']
试试看:
df.loc[(df["house"]=="rented") & (df["car"]=="yes"), ["debt"]].fillna(2, inplace=True)
将df.loc切换到
for val in df.index:
if (df["house"][val] == "rented") and (df["car"][val] == "yes"):
df["debt"][val] = 2
如果我理解正确的话,你不想只填写na值。相反,只有当房子租了,你们有车的时候,你们才愿意填写na值。为了填充df索引"处的所有na值;债务;
df["debt"].fillna(2, inplace=True)
应该使用,而不是您的第二行代码。