![](/img/trans.png)
[英]How to combine rows in a pandas dataframe that have the same value in one column
[英]Python: pandas dataframe comparison of rows with the same value in one column
我有一个数据框,看起来像:
id name num_1 num_2
1 A 12 14
1 A 15
2 B 10 9
3 C 19 18
3 C 16
我想要的输出将是:
id name num_1 num_2
1 A 12 14
1 A 15
基本上我想要具有相同ID的行,其中第二行的num_1大于第一行的num_2。 数据框按ID和num_1排序。 可能有id,我只有一行,应该从最终数据帧中排除。 我知道我可以遍历数据帧以获取所需的内容,但我想知道是否有更好的方法可以做到这一点。 我也尝试过使用shif使其工作,但是它给了我错误的结果:
id name num_1 num_2
1 A 15
2 B 10 9
3 C 19 18
谢谢
尝试对过滤器使用groupby
df.groupby('name').filter(
lambda x: len(x) > 1 and x['num_1'].iloc[1] > x['num_2'].iloc[0])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.