【发布时间】:2015-08-11 09:05:31
【问题描述】:
我正在尝试在 pandas 聚合中执行计算。我希望计算包含在聚合中。我正在尝试的代码如下。我也在为 df 使用 pandas 包。
data = data.groupby(['type', 'name']).agg({'values': [np.min, np.max, 100 * sum([('values' > 3200)] / [np.size])]})
我要计算的公式如下:
100 * sum((values > 3200) / (np.size))
这里 np 是聚合的大小(聚合的数字仅限于 > 3200 的数字)。如何在聚合中执行这样的计算会有很大帮助。
示例输入数据(实际数据集要大得多)。重复值是由于聚合造成的。
type, name, values
apple, blue, 2500
orange, green, 2800
peach, black, 3300
lemon, white, 3500
所需的示例输出(由于我尚未能够执行计算,数字不正确):
type, name, values, np.min, np.max, calcuation
apple, blue, 2500, 1200, 40000, 2300
orange, green, 2800, 1200, 5000, 2500
【问题讨论】:
-
您能对您的用例进行更多描述吗?例如输入数据和期望的输出,我认为在这种情况下提到“聚合”可能会造成混淆。
-
一个小的工作 sn-p 将有助于了解您正在尝试做什么。
-
数据已更新。其余代码只是从数据库中简单提取并放入 pandas df
-
你显示示例数据,但不输出数据。需要更多的叙述
-
现在应该更清楚了