Python 创建包含聚合列和未聚合列的数据帧
我正在尝试创建一个数据帧,该数据帧将使用.groupby方法聚合的序列与原始数据帧中的序列相结合。当我运行下面的代码时,它返回错误“类型为'int'的对象没有len()”我可以仅使用分组序列或原始序列运行此数据帧,但不能同时使用这两个序列。有人能给我解释一下吗Python 创建包含聚合列和未聚合列的数据帧,python,pandas,dataframe,pandas-groupby,Python,Pandas,Dataframe,Pandas Groupby,我正在尝试创建一个数据帧,该数据帧将使用.groupby方法聚合的序列与原始数据帧中的序列相结合。当我运行下面的代码时,它返回错误“类型为'int'的对象没有len()”我可以仅使用分组序列或原始序列运行此数据帧,但不能同时使用这两个序列。有人能给我解释一下吗 total\u value=df.groupby([“项目ID”,“项目名称])[“价格”].sum() purchase\u count=(df.groupby([“项目ID”,“项目名称])[“价格”].count().排序\u值(升
total\u value=df.groupby([“项目ID”,“项目名称])[“价格”].sum()
purchase\u count=(df.groupby([“项目ID”,“项目名称])[“价格”].count().排序\u值(升序=假))
most\u pop=pd.DataFrame({“Item ID”:df[“Item ID”],“Item Name”:df[“Item Name”],“Purchase Count”:Purchase\u Count,“Item Price”:df[“Price”],“Total Purchase Value”:Total\u Value})
尝试:
most\u pop=df.groupby([“项目ID”,“项目名称”],as\u index=False).agg({“价格”:[“总和”,“计数”]))
#只需根据您的命名约定调整多级列:
most\u pop.columns=map(“\u.join,most\u pop”)
most_pop=most_pop.rename(列={“价格总和”:“总购买价值”,“价格计数”:“购买计数”})