对csv文件的每一列数据求和,取其中和最大的10个,做线状图并将此列的列索引标在点的下方,和柱状图并将和的值标在柱的下方,求代码
时间: 2024-02-13 16:07:48 浏览: 68
好的,以下是Python代码实现:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取csv文件
df = pd.read_csv('file.csv')
# 对每一列数据求和
sums = df.sum()
# 取和最大的10个
top10 = sums.nlargest(10)
# 绘制线状图
ax = top10.plot(kind='line', marker='o')
plt.title('Top 10 Columns by Sum - Line Plot')
plt.xlabel('Columns')
plt.ylabel('Sum')
# 添加标签
for i, txt in enumerate(top10.index):
ax.annotate(txt, (i, top10[i]))
plt.show()
# 绘制柱状图
ax = top10.plot(kind='bar')
plt.title('Top 10 Columns by Sum - Bar Plot')
plt.xlabel('Columns')
plt.ylabel('Sum')
# 添加标签
for i, v in enumerate(top10):
ax.text(i, v, str(v), ha='center')
plt.show()
```
需要注意的是,代码中的`file.csv`需要替换成你要处理的csv文件名,而且csv文件中的数据需要是数值类型。另外,如果你还没有安装`pandas`和`matplotlib`模块,需要先通过pip安装。
阅读全文