用与下一列相对应的颜色填充nan值



我想用与该条件对应的颜色类型填充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]((这应该可以解决你的问题

最新更新