我目前从字典中创建了一个Pandas Dataframe。 Dataframe看起来像:
URL TITLE
0 /xxxx.xx Hi this is word count
1 /xxxx.xx Hi this is Stack Overflow
2 /xxxx.xx Stack Overflow Questions
我想在此表中添加一个新列,其中列出了“Stack Overflow”一词出现的频率。例如,它就像:
URL TITLE COUNT
0 /xxxx.xx Hi this is word count 0
1 /xxxx.xx Hi this is Stack Overflow 1
2 /xxxx.xx Stack Overflow Questions 1
count
函数似乎不适用于字典,但仅适用于字符串。有没有简单的方法来做到这一点?
答案 0 :(得分:3)
假设这实际上是pandas dataframe
,你可以这样做:
import pandas as pd
table = { 'URL': ['/xxxx.xx', '/xxxx.xx', '/xxxx.xx'],
'TITLE': ['Hi this is word count', 'Hi this is Stack Overflow', 'Stack Overflow Questions']}
df = pd.DataFrame(table)
df['COUNT'] = df.TITLE.str.count('Stack Overflow')
print(df)
这会产生:
TITLE URL COUNT
0 Hi this is word count /xxxx.xx 0
1 Hi this is Stack Overflow /xxxx.xx 1
2 Stack Overflow Questions /xxxx.xx 1
答案 1 :(得分:0)
数据帧上的count()
方法非常适合计算单个值的出现次数,例如" Stack Overflow"。
要对多个值进行频率分析,请考虑使用collection.Counter(data)
及其.most_common(k)
方法。