pandas 读取csV文件数据并对数据求 和使用 matplotlib 画饼图
时间: 2024-05-13 20:18:21 浏览: 158
好的,下面我来为你演示如何使用 Pandas 读取 CSV 文件数据并对数据求和,并使用 Matplotlib 画饼图。
首先,我们需要导入 Pandas 和 Matplotlib 库:
```python
import pandas as pd
import matplotlib.pyplot as plt
```
然后,我们使用 Pandas 的 `read_csv()` 函数读取 CSV 文件中的数据:
```python
data = pd.read_csv('data.csv')
```
接下来,我们可以使用 Pandas 的 `sum()` 函数对数据进行求和:
```python
sum_data = data.sum()
```
现在,`sum_data` 变量中包含了数据的总和。我们可以使用 Matplotlib 的 `pie()` 函数画饼图:
```python
plt.pie(sum_data, labels=sum_data.index)
plt.show()
```
完整的代码如下:
```python
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('data.csv')
sum_data = data.sum()
plt.pie(sum_data, labels=sum_data.index)
plt.show()
```
其中,`data.csv` 是我们要读取的 CSV 文件名称,你需要将其替换为你自己的文件名称。
相关问题
pandas读取csv文件并作数据线图/条图/直方图/散点图/箱线图/饼图到一张图的不同画布里,用中文不了乱码表明图标类型,统计不同年龄的个数,x轴为年龄y轴表示该年龄的人数
好的,以下是实现这个需求的Python代码:
```python
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
# 读取csv文件
data = pd.read_csv('data.csv')
# 统计不同年龄的个数
age_count = data['age'].value_counts().sort_index()
# 设置中文字体
font = FontProperties(fname='SimHei.ttf', size=14)
# 创建6个画布,每个画布画一种图表
fig, axs = plt.subplots(nrows=2, ncols=3, figsize=(18, 12))
# 画线图
axs[0, 0].plot(age_count.index, age_count.values)
axs[0, 0].set_title('数据线图', fontproperties=font)
# 画条图
axs[0, 1].bar(age_count.index, age_count.values)
axs[0, 1].set_title('条图', fontproperties=font)
# 画直方图
axs[0, 2].hist(data['age'], bins=20)
axs[0, 2].set_title('直方图', fontproperties=font)
# 画散点图
axs[1, 0].scatter(data['age'], data['height'])
axs[1, 0].set_title('散点图', fontproperties=font)
# 画箱线图
axs[1, 1].boxplot(data['age'])
axs[1, 1].set_title('箱线图', fontproperties=font)
# 画饼图
axs[1, 2].pie(age_count.values, labels=age_count.index, autopct='%1.1f%%')
axs[1, 2].set_title('饼图', fontproperties=font)
# 设置全局标题
fig.suptitle('不同年龄的人数统计', fontsize=20, fontweight='bold', y=0.95, fontproperties=font)
# 设置全局x轴和y轴标签
fig.text(0.5, 0.06, '年龄', ha='center', fontproperties=font)
fig.text(0.06, 0.5, '人数', va='center', rotation='vertical', fontproperties=font)
# 显示图形
plt.show()
```
注:需要将代码中的`data.csv`替换成你的数据文件名,同时将`SimHei.ttf`替换成你电脑上的中文字体文件名。
python读取csv文件并画饼图
以下是使用pandas和matplotlib库读取csv文件并绘制饼图的示例代码:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取csv文件
data = pd.read_csv('data.csv')
# 统计数据
counts = data['category'].value_counts()
# 绘制饼图
plt.pie(counts, labels=counts.index, autopct='%1.1f%%')
plt.axis('equal')
plt.title('Category Distribution')
plt.show()
```
其中,`data.csv`是你要读取的csv文件名,`category`是你要统计的列名。这段代码会输出一个饼图,显示不同类别的数据占比情况。
另外,如果你想使用pyecharts库绘制饼图,可以参考以下示例代码:
```python
import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Pie
# 读取csv文件
data = pd.read_csv('data.csv')
# 统计数据
counts = data['category'].value_counts()
# 绘制饼图
pie = (
Pie()
.add('', [list(z) for z in zip(counts.index, counts.values)])
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
.set_global_opts(title_opts=opts.TitleOpts(title='Category Distribution'))
)
pie.render_notebook()
```
这段代码同样会输出一个饼图,显示不同类别的数据占比情况。需要注意的是,这里使用了pyecharts的`Pie`类来绘制饼图,并使用了`render_notebook()`方法将图表渲染到Jupyter Notebook中。
阅读全文