Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过按列分组平均值和一个热编码列的列表(Python、pandas)创建表_Python_Pandas - Fatal编程技术网

通过按列分组平均值和一个热编码列的列表(Python、pandas)创建表

通过按列分组平均值和一个热编码列的列表(Python、pandas)创建表,python,pandas,Python,Pandas,我正在处理推文,我想按主题和社区报告平均情绪得分 这就是我的数据框的外观,其中每一行都是一个文档(tweet): 我想创建一个数据框,在每个单元格中包含一个平均情感值,如下所示: community_id topic 1 topic 2 topic 3 ... topic k 1233 0.1 -0.8 0.5 ... 0.9 9845 -0.3 0.2 0.4

我正在处理推文,我想按主题和社区报告平均情绪得分

这就是我的数据框的外观,其中每一行都是一个文档(tweet):

我想创建一个数据框,在每个单元格中包含一个平均情感值,如下所示:

community_id   topic 1   topic 2   topic 3   ...    topic k
 1233           0.1       -0.8       0.5     ...       0.9
 9845          -0.3        0.2       0.4     ...       0.1
 ...            ...        ...       ...     ...       ...

你有什么想法吗?谢谢

IIUC,首先你想通过主题传播情感,然后通过
community\u id

(df.filter(like='topic')
   .mul(df.sentiment, axis=0)
   .groupby(df.community_id)
   .mean()
)

谢谢这看起来像是一次按一个主题过滤。如何为所有主题生成这些列?将其放入for循环并附加每个附加主题列?不,不是。它会处理名称包含
主题的所有列。您还可以将第一行(
df.filter(…)
)替换为
df[主题列表]
谢谢!这是我最后使用的代码:
topics\u list=['topic\u 1','topic\u 2','topic\u 3']df[topics\u list].mul(df[topic],axis=0).groupby(df[community)d]).mean()
(df.filter(like='topic')
   .mul(df.sentiment, axis=0)
   .groupby(df.community_id)
   .mean()
)