Python dataframe groupby,然后根据group中的值计数



已编辑,包括国家:我有一个Python数据框架,看起来像这样:

指标tbody> <<tr>BBB
数值国家
20x
20x
30x
10x
30y
20道明>

您可以使用apply对数据帧的切片进行值比较:

import pandas as pd
data = [ { "Indicator": "A", "Value": 20 }, { "Indicator": "A", "Value": 20 }, { "Indicator": "A", "Value": 30 }, { "Indicator": "B", "Value": 10 }, { "Indicator": "B", "Value": 30 }, { "Indicator": "B", "Value": 20 } ]
df = pd.DataFrame(data)
df['Rank'] = df.apply(lambda x: (df[df['Indicator'] == x['Indicator']]['Value'] >= x['Value']).sum(), axis=1)

结果:

最新更新