读取csv文件,用jieba统计各个作者标点符号的使用次数并输出柱状图
时间: 2024-05-16 21:13:34 浏览: 44
Desktop_pythonjieba_
好的,需要先安装pandas和jieba库。可以使用以下命令进行安装:
```
pip install pandas
pip install jieba
```
接下来,我们假设要读取的csv文件名为`data.csv`,其中包含两列数据:`content`和`author`,其中`content`列为作者写的文章内容,`author`列为作者的名字。我们要统计各个作者标点符号的使用次数并输出柱状图。可以使用以下代码实现:
```python
import pandas as pd
import jieba
import matplotlib.pyplot as plt
# 读取csv文件
df = pd.read_csv('data.csv')
# 利用pandas的groupby方法按照作者分组
grouped = df.groupby('author')
# 定义标点符号列表
punctuations = [',', '。', '!', '?', '、', ':', ';', '“', '”', '‘', '’', '(', ')', '【', '】', '《', '》', '…', '—', '~']
# 定义一个空的字典用于存储每个作者的标点符号使用次数
punctuation_counts = {}
# 对于每个作者,统计其标点符号使用次数并存储到字典中
for name, group in grouped:
content = ''.join(group['content'].tolist())
punctuation_counts[name] = {}
for p in punctuations:
punctuation_counts[name][p] = content.count(p)
# 输出柱状图
for author, counts in punctuation_counts.items():
x = range(len(punctuations))
y = [counts[p] for p in punctuations]
plt.bar(x, y)
plt.xticks(x, punctuations)
plt.xlabel('Punctuation')
plt.ylabel('Count')
plt.title(f'{author} Punctuation Usage')
plt.show()
```
这段代码首先使用`pandas`库读取csv文件,然后利用`groupby`方法按照作者分组。接下来,定义一个标点符号列表和一个空的字典用于存储每个作者的标点符号使用次数。对于每个作者,统计其标点符号使用次数并存储到字典中。最后,输出柱状图,其中每个柱子代表一种标点符号,高度代表使用次数。
阅读全文