用对应于下一列的颜色填充 nan 值
Fill nan values with color that corresponds to next column
我想用对应于该条件的颜色类型填充 nan 值。例如,如果它是棕色的并且条件具有 nan 值,则 nan 应该填充 2.0dataset image
Blockquote
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["条件"]=df["条件"].fillna(df.groupby("color_type")["条件"].transform(lambda x:x.mode()[0 ]))
这应该可以解决您的问题
我想用对应于该条件的颜色类型填充 nan 值。例如,如果它是棕色的并且条件具有 nan 值,则 nan 应该填充 2.0dataset image
Blockquote
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["条件"]=df["条件"].fillna(df.groupby("color_type")["条件"].transform(lambda x:x.mode()[0 ])) 这应该可以解决您的问题