繁体   English   中英

逐对比较列之间的行值

[英]Comparing Row Values Between Columns Pair by Pair

我有一个ID为两列值的数据框。 我想比较col_1和col_2,以查看是否有ID的col_1值大于ID的col_2的整个值。 我怎样才能做到这一点? 数据框看起来像这样;

data = {'ID': [0, 1, 1, 2, 2, 2, 3],  
        'col_1': [5,15,35,50,55,55,75],
        'col_2': [10,20,30,40,50,60,70]} 

IIUC,用途:

df['new']=df.col_1.gt(df.col_2).astype(int)
print(df)

   ID  col_1  col_2  new
0   0      5     10    0
1   1     15     20    0
2   1     35     30    1
3   2     50     40    1
4   2     55     50    1
5   2     55     60    0
6   3     75     70    1

尝试:

df['result'] = np.where(df['col_1'] > df.groupby('ID')['col_2'].transform('max'), 1, 0)

out:
ID  col_1   col_2   result
0   0   5   10  0
1   1   15  20  0
2   1   35  30  1
3   2   50  40  0
4   2   55  50  0
5   2   55  60  0
6   3   75  70  1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM