我有一列单词,并希望计算每个单词在文本中的频率,并将结果保存在另一列中。你知道吗
数据:
word frequency
0 l’iss
1 station
2 américaines
3 capsule
4 dernier
5 solaires
6 fusées
7 privé
文本:
états-unis : lancement réussi pour station space x dragon états-unis : lancement réussi pour space x dragon la fusée falcon 9, développée par une société privée : spacex, a décollé de la station sans problème ce matin à 7h44 utc. 22 mai 2012. - prévu initialement pour samedi dernier, le lancement a été reporté à la dernière seconde, suite à la défaillance d'une valve dans un des neuf moteurs du pre\xadmier étage du lan\xadceur. le lanceur a décollé du site de lancement du pas de tir 40 (slc-40) de la base de cape canaveral en floride, qui était autrefois utilisé pour les fusée titan iii et iv et qui a été reconverti pour ce lanceur.
我试过:
from collections import Counter
freq = df['word'].str.apply(Counter(text))
我的输出:
AttributeError: 'StringMethods' object has no attribute 'apply'
良好输出:
word frequency
0 cape 1
1 station 2
2 américaines 0
3 capsule 0
4 dernier 1
5 solaires 0
6 fusée 2
换一种方式就容易多了。从
Counter
对象开始构建数据帧输出
然后可以过滤dataframe中需要的单词(或者在构建dataframe时进行过滤)。你知道吗
您可以将文本转换为计数器,然后使用
value_counts
和to_dict
的组合从中获取结果。你知道吗另一种方法是使用Python的本机
Counter
:将逗号替换为空格,然后
.split()
,然后使用字典理解并将其映射到df。你知道吗相关问题 更多 >
编程相关推荐