我的数据帧包含多个列,其中三列与性别有关。
df=
gen_1 gen_2 gen_3
M M M
F M M
F F F
F F M
F M F
数据取自3个不同时期。
np.where(df['gen_1'] == df['gen_2']).replace(df['gen_2'])
但我需要一个输出
gen_1 gen_2 gen_3 Gender
M M M M
F M M M
F F F F
F F M F
F M F F
我相信您需要具有大多数计数的值,模式为axis=1
byDataFrame.mode
:
cols = ['gen_1','gen_2','gen_3']
df['Gender'] = df[cols].mode(axis=1)
print (df)
gen_1 gen_2 gen_3 Gender
0 M M M M
1 F M M M
2 F F F F
3 F F M F
4 F M F F