【发布时间】:2020-01-28 06:20:02
【问题描述】:
我有一个带有组字段和感兴趣变量的 pandas 数据框。对于数据框中的每一行,我想计算同一组中有多少行对感兴趣的变量具有较大的值。
以下是我想要实现的示例:
import pandas as pd
df = pd.DataFrame(data = [['a',1],['a',2],['a',2],['a',3],['b',4],['b',2],['b',6]],
columns = ['groups','value'])
df
groups value
0 a 1
1 a 2
2 a 2
3 a 3
4 b 4
5 b 2
6 b 6
这是我希望收到的输出:
groups value what_i_want
0 a 1 3
1 a 2 1
2 a 2 1
3 a 3 0
4 b 4 1
5 b 2 2
6 b 6 0
我知道我可以通过遍历数据框的每一行来得到这个答案,但是我也知道遍历数据框的行是最后的手段,而且我的完整数据集要大得多,并且需要很长时间才能运行.我假设有一些方法可以使用 groupby 或 apply 来做到这一点,但我想不通。
谢谢!
【问题讨论】:
标签: python-3.x pandas pandas-groupby