首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据一年一周对数据框架中的每一列执行一袋单词模型?

如何根据一年一周对数据框架中的每一列执行一袋单词模型?
EN

Stack Overflow用户
提问于 2020-01-29 06:32:49
回答 1查看 99关注 0票数 0
代码语言:javascript
复制
 Year-Week  Job_list   Comments_2
    2019-01    Doc-1      Doc-1
    2019-01    Doc-2      Doc-2
    2019-01    Doc-3      Doc-3
    2019-02    Doc-4      Doc-4
    2019-03    Doc-5      Doc-5

我想要每一栏的输出分别按年-周后,应用包字模型。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-29 08:27:07

您可以使用.groupby按年周对输出进行分组。

之后,可以使用.apply(list)将分组输出转换为列表。

代码语言:javascript
复制
df = pd.DataFrame([['2019-01', 'Doc-1', 'Doc-1'], ['2019-01', 'Doc-2', 'Doc-2'],['2019-01','Doc-3','Doc-3'],['2019-02','Doc-4','Doc-4'],['2019-03','Doc-5','Doc-5']],columns= ['Year-Week', 'Job_list', 'Comments_2'])

#Use groupby and then .apply(list)
job_list_grouped = df.groupby('Year-Week')['Job_list'].apply(list)
print(job_list_grouped)

输出结果如下:

代码语言:javascript
复制
Year-Week
2019-01    [Doc-1, Doc-2, Doc-3]
2019-02                  [Doc-4]
2019-03                  [Doc-5]

您可以简单地对另一列执行同样的操作。从那里你可以用它把它转换成任何你需要的东西。

编辑:

为此,您可以使用库collections中的模块collections

这是我的新代码:

代码语言:javascript
复制
import pandas as pd
from collections import Counter

df = pd.DataFrame([['2019-01', 'Doc-1', 'Doc-1'], ['2019-01', 'Doc-2', 'Doc-2'],['2019-01','Doc-3','Doc-3'],['2019-02','Doc-4','Doc-4'],['2019-03','Doc-5','Doc-5']],columns= ['Year-Week', 'Job_list', 'Comments_2'])

job_list_grouped = df.groupby('Year-Week')['Job_list'].apply(list).apply(Counter)
print(job_list_grouped)
print(job_list_grouped.to_dict())

请注意,我只是将另一个apply添加到groupby函数的末尾。

第一张印出来:

代码语言:javascript
复制
Year-Week
2019-01    {'Doc-1': 1, 'Doc-2': 1, 'Doc-3': 1}
2019-02                            {'Doc-4': 1}
2019-03                            {'Doc-5': 1}

如果需要使用字典格式,只需添加to_dict()即可:

代码语言:javascript
复制
{'2019-01': Counter({'Doc-1': 1, 'Doc-2': 1, 'Doc-3': 1}), '2019-02': Counter({'Doc-4': 1}), '2019-03': Counter({'Doc-5': 1})}

不要担心字典周围的Counter。它的行为仍然完全像一个dict

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59961609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档