gpt4 book ai didi

Python Dataframe 条件和

转载 作者:太空宇宙 更新时间:2023-11-03 14:35:24 24 4
gpt4 key购买 nike

我有一个数据框 IncomeData,其中包含国家、地区和收入。我正在尝试使用聚合来返回平均值、最小值、最大值和计数。我希望能够统计收入大于 100 的国家/地区。

raw_data = {'Country': ['A', 'B', 'C', 'D', 'E'],
'Region': ['X', 'X', 'X', 'Y', 'Y'],
'Income': [100, 200, 300, 100, 200]
}
incomeData = pd.DataFrame(raw_data, columns = ['Country', 'Region', 'Income'])
regionGroup = incomeData.groupby(['Region'], as_index=False)
groupCount = lambda x: x.count()
#CountHighIncome = ?
aggregations = {
'Country': {groupCount
},
'Income': {'min', 'max', 'mean', 'median' #, CountHighIncome
}
}
incomeSummary = regionGroup.agg(aggregations)
incomeSummary
   Region  Country Income
lambda> median max mean min CountHighIncome
0 X 3 200 300 200 100 2
1 Y 2 150 200 150 100 1

请告诉我计算一个区域内的国家/地区的 lambda 方法是否可以扩展到计算一个区域内收入大于 100 的国家/地区。或者是否有其他更好的方法来解决此问题。

非常感谢。

最佳答案

您可以将自定义函数与带有总和条件的 lambda 一起使用,True 的计数类似于 1,也适用于 Country code> 已删除 lambda 函数,仅使用 count:

CountHighIncome = lambda x: (x > 100).sum()
aggregations = {
'Country': {'count'
},
'Income': {'min', 'max', 'mean', 'median', CountHighIncome
}
}
incomeSummary = regionGroup.agg(aggregations)
print (incomeSummary)
Region Income Country
max min <lambda> mean median count
0 X 300 100 2 200 200 3
1 Y 200 100 1 150 150 2

关于Python Dataframe 条件和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46988048/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com