用Jupyter notebook写一个对于如下蔬菜水果销量的dataframe,实现: 6年水果销量的折线图 6年蔬菜销量的柱状图 6年各类水果销量总和的饼状图,各类蔬菜销量综合的饼状图
时间: 2024-05-01 22:19:35 浏览: 173
好的,我会按照您的要求进行回答,以下是代码实现:
首先,我们需要导入所需的库:
```python
import pandas as pd
import matplotlib.pyplot as plt
```
然后,我们构造一个包含水果和蔬菜销量数据的DataFrame,代码如下:
```python
data = {
'年份': [2015, 2016, 2017, 2018, 2019, 2020],
'苹果': [100, 120, 150, 180, 200, 220],
'香蕉': [80, 90, 100, 110, 120, 130],
'橙子': [50, 60, 70, 80, 90, 100],
'白菜': [200, 180, 160, 140, 120, 100],
'西红柿': [150, 170, 190, 210, 230, 250],
'土豆': [100, 110, 120, 130, 140, 150]
}
df = pd.DataFrame.from_dict(data)
```
这里使用了from_dict方法将字典转换为DataFrame对象。
接下来,我们可以画出6年水果销量的折线图,代码如下:
```python
df.plot(x='年份', y=['苹果', '香蕉', '橙子'])
plt.title('6年水果销量折线图')
plt.xlabel('年份')
plt.ylabel('销量')
plt.show()
```
这里使用了DataFrame的plot方法,指定x轴为年份,y轴为水果列,然后使用plt进行标题、x、y轴标签等的设置。
接着,我们可以画出6年蔬菜销量的柱状图,代码如下:
```python
df.plot(kind='bar', x='年份', y=['白菜', '西红柿', '土豆'])
plt.title('6年蔬菜销量柱状图')
plt.xlabel('年份')
plt.ylabel('销量')
plt.show()
```
与上面的代码类似,这里使用了DataFrame的plot方法,指定kind='bar',即画柱状图,然后指定x轴为年份,y轴为蔬菜列,并进行相关设置。
最后,我们可以画出各类水果销量总和的饼状图和各类蔬菜销量综合的饼状图,代码如下:
```python
fruit_sum = df[['苹果', '香蕉', '橙子']].sum()
veggie_sum = df[['白菜', '西红柿', '土豆']].sum()
fig, axes = plt.subplots(nrows=1, ncols=2)
fruit_sum.plot(kind='pie', ax=axes[0], autopct='%1.1f%%')
axes[0].set_title('各类水果销量总和饼状图')
veggie_sum.plot(kind='pie', ax=axes[1], autopct='%1.1f%%')
axes[1].set_title('各类蔬菜销量综合饼状图')
plt.show()
```
这里使用了DataFrame的sum方法计算各类水果和蔬菜的销量总和,然后使用subplots方法创建一个1行2列的图表,分别画出各类水果销量总和的饼状图和各类蔬菜销量综合的饼状图,并进行相关设置。
这就是整个实现的代码,您可以在Jupyter notebook中运行它,查看绘制的图表。
阅读全文