我已经搜索了这个答案,但找不到可以工作的东西。我想对一个列keyword_visibility
求和,并按三个列category
、trend_month
、trend_year
对其进行分组。
结果将在相同的数据帧中,并将被称为sum_keyword_visibility_by_category
。
我尝试的内容包括:
df_market_share['sum_keyword_visibility_by_category'] = df_market_share.groupby(['category', 'trend_month', 'trend_year'])['keyword_visibility'].sum()
和
df_market_share['sum_keyword_visibility_by_category'] = df_market_share["keyword_visibility"].groupby(df_market_share["category"], ["trend_month" ]).transform("sum")
对于第一次尝试,我得到的错误是这个TypeError: incompatible index of inserted column with frame index
,对于第二次尝试,我非常感谢这个TypeError: unhashable type: 'list'
的任何帮助
发布于 2019-07-25 19:53:35
这是因为您正在对值进行分组。您正在尝试将groupby和summation的结果插入数据框的普通索引中。这意味着您正在尝试将一组较小的值插入到新列中。
请查看此链接:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.groupby.html
如果想要将结果插入到数据框中,可以找到相应的值并使用df.loc插入结果
https://stackoverflow.com/questions/57200565
复制相似问题