基于Python和pandas的文本挖掘

2024-09-27 22:20:19 发布

您现在位置:Python中文网/ 问答频道 /正文

这也许是个复制品,但我没找到它。。。在

我正在用Python和Pandas进行一些文本挖掘。我在一个数据帧中有一些单词,波特在它旁边加了一些其他的统计数据。这意味着在这个数据帧中可以找到具有完全相同波特词干的相似单词。我想把这些相似的词聚合到一个新的专栏里,然后去掉关于波特茎的重复词。在

import pandas as pd
pda = pd.DataFrame.from_dict({'Word': ['bank', 'hold', 'banking', 'holding', 'bank'], 'Porter': ['bank', 'hold', 'bank', 'hold', 'bank'], 'SomeData': ['12', '13', '12', '13', '12']})

pdm = pd.DataFrame(pda.groupby(['Porter'])['Word'].apply(list))

我想要的是:

^{pr2}$

删除重复项后:

# Word      Porter               Merged    SomeData
# bank        bank      [bank, banking]          12
# hold        hold      [hold, holding]          13

我试着利用,但我没有接近我的目标。在

pda.join(pdm, on="Porter", how="left")``

提前谢谢你的帮助。在

编辑:以上代码已修订


Tags: 数据dataframepandas单词wordpdbank复制品
1条回答
网友
1楼 · 发布于 2024-09-27 22:20:19

您可以对此应用集合而不是列表,因此您将自动删除所有重复项:

import pandas as pd
pda = pd.DataFrame.from_dict({'Word': ['bank', 'hold', 'banking', 'holding', 'bank'], 
                              'Porter': ['bank', 'hold', 'bank', 'hold', 'bank'], 
                              'SomeData': ['12', '13', '12', '13', '12']})

pdm = pd.DataFrame(pda.groupby(['Porter'])['Word'].apply(set))

相关问题 更多 >

    热门问题