Python 在数据集上应用内置和自定义创建的函数
我有不同列的销售数据。数据为数据帧类型。对我的数据应用自定义函数,并按相同类别组合所有数据。不幸的是,我不能在此发布数据集,但我有如下示例数据:Python 在数据集上应用内置和自定义创建的函数,python,python-3.x,pandas,Python,Python 3.x,Pandas,我有不同列的销售数据。数据为数据帧类型。对我的数据应用自定义函数,并按相同类别组合所有数据。不幸的是,我不能在此发布数据集,但我有如下示例数据: item value 0 Item A 59 1 Item B 95 2 Item B 82 3 Item C 40 4 Item A 11 item sum verify Item A 70 70 Item B 177 177 Item C 40 40 现在我
item value
0 Item A 59
1 Item B 95
2 Item B 82
3 Item C 40
4 Item A 11
item sum verify
Item A 70 70
Item B 177 177
Item C 40 40
现在我想创建一个函数,并将该函数应用于数据。这是我的密码
sum_all = {}
def verify(items , col):
for i,v in items,col:
if i == 'item A':
sum_all[i] += v
# and so on
# At the end of this function
return sum_all
我想对我的数据函数一个将内置和函数,第二个是验证在同一时间。结果如下所示:
item value
0 Item A 59
1 Item B 95
2 Item B 82
3 Item C 40
4 Item A 11
item sum verify
Item A 70 70
Item B 177 177
Item C 40 40
考虑到这不是我的真实数据,这是非常类似于我的虚拟数据。我也在stack overflow上搜索了它,我发现很少有好的解决方案,但它们并没有完全起到我想要的作用。我也对那些帖子发表了评论,但还没有得到回复。如果您能提供帮助,我将不胜感激。我想您谈论的是groupby和agg功能。据我所知,这是最好的,你可以试试这段代码
df = pd.DataFrame([['Item A',59],['Item B',95],['Item B',82],['Item C',40],['Item A',11]], columns=['item','value'])
# If using Python3
from functools import reduce
def verify(series):
return reduce(lambda x, y: x + y, series)
df.groupby('item').agg({'value': ['sum', verify]})
这很有效。但我会等待一段时间来探索其他人的解决方案。谢谢