meh*_*man 3 python dataframe pandas
我有一个熊猫数据框:
import pandas as pd
test = pd.DataFrame({'words':[['foo','bar none','scare','bar','foo'],
['race','bar none','scare'],
['ten','scare','crow bird']]})
Run Code Online (Sandbox Code Playgroud)
我正在尝试获取数据框列中所有列表元素的单词/短语计数。我当前的解决方案是:
allwords = []
for index, row in test.iterrows():
for word in row['words']:
allwords.append(word)
Run Code Online (Sandbox Code Playgroud)
from collections import Counter
pd.Series(Counter(allwords)).sort_values(ascending=False)
Run Code Online (Sandbox Code Playgroud)
这可行,但我想知道是否有更快的解决方案。注意:我没有使用,' '.join()因为我不希望将短语分成单独的单词。
让我们尝试.hstack一下.value_counts:
pd.value_counts(np.hstack(test['words']))
Run Code Online (Sandbox Code Playgroud)
scare 3
foo 2
bar none 2
ten 1
bar 1
crow bird 1
race 1
dtype: int64
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2638 次 |
| 最近记录: |