(5) 绘制柱状图统计各小时的平均租车量,将工作日和非工作日分面,分面 呈现为 2 行。
时间: 2023-12-14 13:38:32 浏览: 44
以下是绘制柱状图统计各小时的平均租车量的代码,其中使用了pandas和matplotlib库:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取数据
data = pd.read_csv("hour_rental.csv")
# 将日期转换为星期几
data["weekday"] = pd.to_datetime(data["date"]).dt.weekday_name
# 计算每个小时的平均租车量
hourly_rentals = data.groupby(["weekday", "hour"])["count"].mean().reset_index()
# 绘制柱状图
fig, axes = plt.subplots(nrows=2, ncols=1, figsize=(10, 8))
# 工作日
weekday_rentals = hourly_rentals[hourly_rentals["weekday"].isin(["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"])]
weekday_rentals.pivot(index="hour", columns="weekday", values="count").plot(kind="bar", ax=axes[0])
axes[0].set_title("Hourly Rentals - Weekdays")
axes[0].set_xlabel("Hour of the Day")
axes[0].set_ylabel("Average Rentals")
# 非工作日
weekend_rentals = hourly_rentals[hourly_rentals["weekday"].isin(["Saturday", "Sunday"])]
weekend_rentals.pivot(index="hour", columns="weekday", values="count").plot(kind="bar", ax=axes[1])
axes[1].set_title("Hourly Rentals - Weekends")
axes[1].set_xlabel("Hour of the Day")
axes[1].set_ylabel("Average Rentals")
plt.tight_layout()
plt.show()
```
该代码会生成一个分为两行的柱状图,第一行显示工作日的平均租车量,第二行显示非工作日的平均租车量。其中,x轴表示小时数,y轴表示平均租车量。