gpt4 book ai didi

python - 从单列 Pandas 数据框生成词云

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

我有一个包含一列的 Pandas 数据框:犯罪类型。该列包含 16 个不同的犯罪“类别”,我想将其可视化为一个词云,其中词的大小根据它们在数据框中的频率而定。

enter image description here

我已尝试使用以下代码执行此操作:

引入数据:

fields = ['Crime type']

text2 = pd.read_csv('allCrime.csv', usecols=fields)

生成词云:

wordcloud2 = WordCloud().generate(text2)
# Generate plot
plt.imshow(wordcloud2)
plt.axis("off")
plt.show()

但是,我得到这个错误:

TypeError: expected string or bytes-like object

我能够使用以下代码从完整数据集创建一个较早的词云,但我希望词云仅从特定列“犯罪类型”(“allCrime.csv”包含大约。 13 列):

text = open('allCrime.csv').read()
wordcloud = WordCloud().generate(text)
# Generate plot
plt.imshow(wordcloud)
plt.axis("off")
plt.show()

我是 Python 和 Pandas 的新手(通常是编码!)所以非常感谢所有帮助。

最佳答案

问题是您正在使用的 WordCloud.generate 方法需要一个字符串,它将在该字符串上计算单词实例,但您提供了一个 pd.Series

根据您希望生成词云的内容,您可以:

  1. wordcloud2 = WordCloud().generate(' '.join(text2['Crime Type'])),这将连接数据框列中的所有单词,然后计算所有实例.

  2. 使用 WordCloud.generate_from_frequencies 手动传递计算出的词频。

关于python - 从单列 Pandas 数据框生成词云,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43606339/

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