您可以使用Series.where
:
df['c'] = df.b.where(df.a < df.b, df.a)
print (df)
a b c
0 0.752072 0.813426 0.813426
1 0.868841 0.354665 0.868841
2 0.944651 0.745505 0.944651
3 0.485834 0.163747 0.485834
4 0.001487 0.820176 0.820176
5 0.904039 0.136355 0.904039
6 0.572265 0.250570 0.572265
7 0.514955 0.868373 0.868373
8 0.195440 0.484160 0.484160
9 0.506443 0.523912 0.523912
df['c'] = np.where(df['a'] > df['b'], df['a'], df['b'])
print (df)
a b c
0 0.752072 0.813426 0.813426
1 0.868841 0.354665 0.868841
2 0.944651 0.745505 0.944651
3 0.485834 0.163747 0.485834
4 0.001487 0.820176 0.820176
5 0.904039 0.136355 0.904039
6 0.572265 0.250570 0.572265
7 0.514955 0.868373 0.868373
8 0.195440 0.484160 0.484160
9 0.506443 0.523912 0.523912
或更简单的发现max
:
df['c'] = df[['a','b']].max(axis=1)
print (df)
a b c
0 0.752072 0.813426 0.813426
1 0.868841 0.354665 0.868841
2 0.944651 0.745505 0.944651
3 0.485834 0.163747 0.485834
4 0.001487 0.820176 0.820176
5 0.904039 0.136355 0.904039
6 0.572265 0.250570 0.572265
7 0.514955 0.868373 0.868373
8 0.195440 0.484160 0.484160
9 0.506443 0.523912 0.523912