gpt4 book ai didi

python - 计算 Pandas 数据框中的单个单词

转载 作者:太空狗 更新时间:2023-10-30 00:44:11 25 4
gpt4 key购买 nike

我正在尝试计算数据框中一列中的单个单词。看起来像这样。实际上,文本是推文。

text
this is some text that I want to count
That's all I wan't
It is unicode text

所以我从其他 stackoverflow 问题中发现我可以使用以下内容:

Count most frequent 100 words from sentences in Dataframe Pandas

Count distinct words from a Pandas Data Frame

我的 df 称为结果,这是我的代码:

from collections import Counter
result2 = Counter(" ".join(result['text'].values.tolist()).split(" ")).items()
result2

我收到以下错误:

TypeError                                 Traceback (most recent call last)
<ipython-input-6-2f018a9f912d> in <module>()
1 from collections import Counter
----> 2 result2 = Counter(" ".join(result['text'].values.tolist()).split(" ")).items()
3 result2
TypeError: sequence item 25831: expected str instance, float found

text 的 dtype 是 object,根据我的理解,这对于 unicode 文本数据是正确的。

最佳答案

出现此问题是因为您系列中的某些值 (result['text']) 是 float 类型。如果您还想在 ' '.join() 期间考虑它们,那么您需要先将 float 转换为字符串,然后再将它们传递到 str.join()

您可以使用 Series.astype() 将所有值转换为字符串。此外,您真的不需要使用 .tolist() ,您也可以简单地将系列提供给 str.join() 。示例 -

result2 = Counter(" ".join(result['text'].astype(str)).split(" ")).items()

演示 -

In [60]: df = pd.DataFrame([['blah'],['asd'],[10.1]],columns=['A'])

In [61]: df
Out[61]:
A
0 blah
1 asd
2 10.1

In [62]: ' '.join(df['A'])
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-62-77e78c2ee142> in <module>()
----> 1 ' '.join(df['A'])

TypeError: sequence item 2: expected str instance, float found

In [63]: ' '.join(df['A'].astype(str))
Out[63]: 'blah asd 10.1'

关于python - 计算 Pandas 数据框中的单个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33241716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com