python语言画四个子图:分别按dataframe的行政区域、 商圈(前20)、户型(前10)、面积(自行分段)画出房源数量柱状图¶
时间: 2023-12-02 15:03:00 浏览: 100
好的,以下是您所需的 python 代码:
```python
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
# 假设房源数据保存在名为 df 的 dataframe 中
# 首先需要分别按“行政区域”、“商圈”、“户型”、“面积”进行分组,并进行统计
region_counts = df.groupby('行政区域').size()
biz_district_counts = df.groupby('商圈').size().nlargest(20)
layout_counts = df.groupby('户型').size().nlargest(10)
area_counts, bins = pd.cut(df['面积'], bins=[0, 50, 100, 150, 200, 250, 300, 350, 400, 450, 500, 1000], include_lowest=True, right=False, retbins=True)
area_counts = pd.value_counts(area_counts)
bins = bins[:-1]
# 开始画图
fig, axs = plt.subplots(nrows=2, ncols=2)
fig.set_size_inches(15, 10)
# 第一个子图:按“行政区域”画柱状图
axs[0, 0].bar(region_counts.index, region_counts.values)
axs[0, 0].set_title('按行政区域房源数量')
# 第二个子图:按“商圈”画柱状图
axs[0, 1].bar(biz_district_counts.index, biz_district_counts.values)
axs[0, 1].set_title('按商圈房源数量')
# 第三个子图:按“户型”画柱状图
axs[1, 0].bar(layout_counts.index, layout_counts.values)
axs[1, 0].set_title('按户型房源数量')
# 第四个子图:按“面积”画柱状图
axs[1, 1].bar(bins, area_counts, width=np.diff(bins), edgecolor='black')
axs[1, 1].set_title('按面积房源数量')
axs[1, 1].set_xlabel('面积(㎡)')
axs[1, 1].set_ylabel('房源数量')
plt.show()
```
希望这段代码能够帮助到您!如果您有更多的问题,可以继续向我提问。
阅读全文