分别按商圈(前20)、户型(前10)、面积(自行分段)画出房源数量柱状图,商圈、户型、面积是dataframe的列,其中需要商圈排名前20,户型排名前10的数据
时间: 2024-04-29 12:27:02 浏览: 108
好的,我明白了。根据您的要求,我将使用Python和Matplotlib库,对给定的数据框按照商圈、户型、面积进行分类,然后绘制柱状图。以下是具体实现:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 假设您提供的数据框名为df,其中包含商圈、户型和面积三个列
# 按商圈分类,取前20个最受欢迎的商圈
top20_area = df['商圈'].value_counts().nlargest(20)
# 按房型分类,取前10最受欢迎的房型
top10_layout = df['户型'].value_counts().nlargest(10)
# 按面积分类,自行定义分段(例如每100平方米为一组),并统计数量
area_counts, area_bins = pd.cut(df['面积'], bins=[0,100,200,300,400,500,600]).value_counts(), [0,100,200,300,400,500,600]
# 商圈柱状图
plt.bar(top20_area.index, top20_area.values)
plt.xticks(rotation=90)
plt.title('Top 20 Popular Area')
plt.xlabel('Area')
plt.ylabel('Counts')
plt.show()
# 户型柱状图
plt.bar(top10_layout.index, top10_layout.values)
plt.xticks(rotation=90)
plt.title('Top 10 Popular Layout')
plt.xlabel('Layout')
plt.ylabel('Counts')
plt.show()
# 面积柱状图
plt.bar(area_bins[:-1], area_counts)
plt.xticks(rotation=90)
plt.title('Number of Listings by Area')
plt.xlabel('Area (square meters)')
plt.ylabel('Counts')
plt.show()
```
以上代码会分别绘制出三幅柱状图,分别是商圈、户型和面积的房源数量图。您可以根据实际情况对图表进行调整,比如更改图表标题、横纵坐标标签等。希望这能满足您的需求。
阅读全文