在熊猫中,我试图从col2中出现的单词中解开一袋单词。我的主要目的是在每个不同的类别中找到所有独特的单词及其出现的频率。如果一个单词在一个类别中出现两次,则该单词将计为1(例如“ msk”和“ people”)。
例如- 我有一个熊猫列,看起来像这样:
col1 col2
Software [msk , people , inc. ]
Software [logical , corp , ltd ]
Software [imt , datalink , services. ]
Hardware [peoples , avenue , management ]
Hardware [msk , techn ]
Transport [tata , mgm , workspace , ltd ]
Services [msk , people , inc. ]
Services [happy , people , party , new ]
我的输出应该像这样
words category-freq .
msk 3
people 2
inc. 2
logical 1
corp 1
ltd 2
等(这只是我提供的一个示例,在末尾省略了一些行)
第2列中的单词袋采用列表形式。
答案 0 :(得分:2)
更新:
df.set_index('col1')['col2'].apply(pd.Series).stack().groupby(level=0).value_counts()
输出:
col1
Hardware avenue 1
management 1
msk 1
peoples 1
techn 1
Services people 2
happy 1
inc. 1
msk 1
new 1
party 1
Software corp 1
datalink 1
imt 1
inc. 1
logical 1
ltd 1
msk 1
people 1
services. 1
Transport ltd 1
mgm 1
tata 1
workspace 1
dtype: int64
使用:
df.col2.apply(pd.Series).stack().value_counts()
输出:
people 3
msk 3
ltd 2
inc. 2
techn 1
peoples 1
new 1
management 1
imt 1
datalink 1
mgm 1
tata 1
party 1
happy 1
services. 1
corp 1
avenue 1
logical 1
workspace 1
dtype: int64