我有一个excel电子表格与关键列(k1,k2)和金额列(a1至a12)。你知道吗
我需要按k1,k2分组,并在生成的数据帧中对列求和,并将数量保存到一个新列中。这是我迄今为止尝试过的
import numpy as nm
import pandas as pd
df = pd.read_excel('C:\Users\pb\Desktop\py test\Bal.xlsx')
df1=df.groupby(['k1', 'k2'])
#sum a1 thru a12(also tried df['suma'] = df['a1']+df['a2']
df1['suma']=df1.apply(lambda x: x['a1'] + x['a2'])
这是我得到的错误
TypeErrorTraceback (most recent call last) <ipython-input-14-242ac0584a79> in <module>()
3 df1=df.groupby(['k1', 'k2'])
4 #sum a1 thru a12
----> 5 df1['sum']=df1.apply(lambda x: x['a1'] + x['a2'])
TypeError: 'DataFrameGroupBy' object does not support item assignment
有没有一种方法可以对分组后的列求和?你知道吗
提前谢谢
创建groupby时,除非通过聚合或其他方式应用了某个函数,否则不会创建新的数据帧。您可以在groupby之前添加一个已经在添加前两列的列,然后使用sum执行groupby。你知道吗
相关问题 更多 >
编程相关推荐