分析年度乘客总量变化情况(折线图) 分析乘客在一年中各月份的分布(柱状图) 要求两种解法: 1、使用groupby方法, 2、不是用groupby, 使用numpy或pandas 最基础的运算将其组合运算出来
时间: 2024-03-01 17:52:50 浏览: 138
使用 groupby 方法实现年度乘客总量变化情况(折线图):
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取数据
df = pd.read_csv('flight.csv')
# 将日期字符串转换为日期格式
df['date'] = pd.to_datetime(df['date'], format='%Y-%m-%d')
# 按年度分组,计算总乘客数
yearly_passengers = df.groupby(df['date'].dt.year)['passengers'].sum()
# 绘制折线图
plt.plot(yearly_passengers.index, yearly_passengers.values)
plt.xlabel('Year')
plt.ylabel('Total Passengers')
plt.show()
```
使用 groupby 方法实现乘客在一年中各月份的分布(柱状图):
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取数据
df = pd.read_csv('flight.csv')
# 将日期字符串转换为日期格式
df['date'] = pd.to_datetime(df['date'], format='%Y-%m-%d')
# 按月份分组,计算总乘客数
monthly_passengers = df.groupby(df['date'].dt.month)['passengers'].sum()
# 绘制柱状图
plt.bar(monthly_passengers.index, monthly_passengers.values)
plt.xlabel('Month')
plt.ylabel('Total Passengers')
plt.show()
```
不使用 groupby 方法实现年度乘客总量变化情况(折线图):
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取数据
df = pd.read_csv('flight.csv')
# 将日期字符串转换为日期格式
df['date'] = pd.to_datetime(df['date'], format='%Y-%m-%d')
# 计算每年的总乘客数
yearly_passengers = []
for year in range(df['date'].dt.year.min(), df['date'].dt.year.max()+1):
yearly_passengers.append(df[df['date'].dt.year == year]['passengers'].sum())
# 绘制折线图
plt.plot(range(df['date'].dt.year.min(), df['date'].dt.year.max()+1), yearly_passengers)
plt.xlabel('Year')
plt.ylabel('Total Passengers')
plt.show()
```
不使用 groupby 方法实现乘客在一年中各月份的分布(柱状图):
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取数据
df = pd.read_csv('flight.csv')
# 将日期字符串转换为日期格式
df['date'] = pd.to_datetime(df['date'], format='%Y-%m-%d')
# 计算每个月的总乘客数
monthly_passengers = []
for month in range(1, 13):
monthly_passengers.append(df[df['date'].dt.month == month]['passengers'].sum())
# 绘制柱状图
plt.bar(range(1, 13), monthly_passengers)
plt.xlabel('Month')
plt.ylabel('Total Passengers')
plt.show()
```
这些代码都假设了数据集中包含日期和乘客数两列数据,其中日期列的名称为 'date',乘客数列的名称为 'passengers'。如果实际数据集中的列名不同,需要相应地修改代码。
阅读全文