我想用与该条件对应的颜色类型填充nan值。例如,如果它是棕色的,并且条件具有nan值,则nan应该用2.0数据集的图像填充
区块报价
condition color_type length(m) height(cm) X1 X2 duration
0 2.0 Brown Tabby 0.80 7.78 13 9 73
1 1.0 White 0.72 14.19 13 9 1862
2 NaN Brown 0.15 40.90 15 4 752
3 1.0 White 0.62 17.82 0 1 755
4 2.0 Black 0.50 11.06 18 4 52
您可以使用布尔掩码:
cond = df['color_type'] == 'Brown'
df.loc[cond, "condition"] = df.loc[cond, "condition"].fillna(2.0)
对于许多颜色,您可以执行:
cond = df['color_type'].isin(your_list_of_colors)
你可以这样做df["condition"]=df["condition"].fillna(df.groupby("color_type"(["condition["].transform(lambda x:x.mode(([0]((这应该可以解决你的问题