比较这三列,并将唯一字符串替换为其余列中的字符串.Python



我的数据帧包含多个列,其中三列与性别有关。

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=1byDataFrame.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

最新更新