我有一个带有多个列的pandas DF。我想应用以下(概念):
df['Z'] = int( max(df[['A','B']].max(axis=1) ) > CONST )
换句话说:
1)max(df[['A','B']]) > CONST
会返回TRUE
或FALSE
2)在df['Z']
我希望存储1
或0
,具体取决于之前的情况。
我知道我可以做到最多两列:
df['Z'] = df[['A','B']].max(axis=1)
我不知道如何将最大值与给定的CONST进行比较?
我该如何实现?
谢谢!
答案 0 :(得分:2)
你的代码几乎就在那里。考虑这个虚拟df,
df = pd.DataFrame({'A': [5,9,3,17,52], 'B': [94,23,5,12,2]})
为常数
const = 20
df['Z'] = (df[['A','B']].max(axis=1) > const).astype(int)
你得到了
A B Z
0 5 94 1
1 9 23 1
2 3 5 0
3 17 12 0
4 52 2 1
答案 1 :(得分:2)
df[[‘A’, ‘B’]].gt(const).any(1).astype(int)