复制
收藏
提问
全网

mp.rcParams['font.sans-serif'] = ['SimHei'] mp.rcParams['axes.unicode_minus'] = False house = pd.read_csv('./data/house_information.csv', usecols=range(1, 9), encoding='utf-8', engine='python') # 1.数据清洗 # 将单价的平米去掉,转换为浮点型 house['单价'] = house['单价'].apply(lambda x: float(x.split('/')[0][:-1])) # 将建筑面积的平米去掉,转换为浮点型 house['建筑面积'] = house['建筑面积'].apply(lambda x: ___(1)___(x[:-2])) # 将房屋总价的万去掉,转换为浮点型 house['房屋总价'] = house['房屋总价'].apply(lambda x: float(x[:-1])) print(house) # 查看房屋信息 print(house.info()) # 定义筛选TOPN单价的条件的函数 def house_in_topn(data, xiaoqu): lst = [] for h in data.values: if ___(2)___ in xiaoqu: lst.append(True) else: lst.append(False) return np.array(___(3)___) # 定义画条形图的函数 def bar_plot(label, **kwargs): mp.figure(label) ax = mp.gca() sn.barplot(ax=ax, ___(4)___) mp.title(label) mp.gcf().autofmt_xdate() # 对小区单价进行降序排列,取前15位 districe = house.groupby(by='小区名称').agg({'单价': 'mean'}).___(5)___(by='单价', ascending=False)[:15] print(districe) # 筛选单价排名前15的小区 data = house.___(6)___[house_in_topn(house['小区名称'], list(districe.index))] # 可视化 bar_plot('TOP15小区单价条形图(元/平米)', data=___(7)___, x='小区名称', y='单价', hue='楼层', palette='Set1', ci=None) # 筛选单价排名前10的朝向 direction = house.groupby(by='朝向').agg({'单价': 'mean'}).sort_values(by='单价', ascending=False)[:___(8)___] # 去house数据中筛选单价排名前10的朝向的数据 house_direction = house.loc[house_in_topn(house['朝向'], list(direction.index))] # 绘制朝向条形图 bar_plot('TOP10小区朝向条形图(元/平米)', data=house_direction, x='朝向', y='单价', palette='Set1', ci=None, order=list(direction.index)) # 筛选单价排名前10的户型 layout = house.groupby(by='户型').agg({'单价': 'mean'}).sort_values(by='单价', ascending=False)[:10] house_layout = house.loc[house_in_topn(house['户型'], layout.index)] # 绘制户型条形图 bar_plot('TOP10小区户型条形图(元/平米)', data=house_layout, x='户型', y='单价', palette='Set1', ci=None, order=layout.index) # 绘制装修情况条形图 bar_plot('装修情况条形图', data=house, x='装修', y='单价', ci=None, palette='Set3') # 绘制单价直方图 sn.___(9)___(house['单价']) mp.title('单价直方图', fontsize=16) mp.xlabel('单价', fontsize=12) mp.ylabel('频数', fontsize=12) # 绘制面积密度图 mp.figure('建筑面积密度图') ax = mp.___(10)___ sn.kdeplot(house['建筑面积'], ax=ax) mp.title('建筑面积密度图', fontsize=16) mp.xlabel('建筑面积', fontsize=12) mp.ylabel('频率', fontsize=12) mp.show()

5月前
全网
文档
学术
百科
知识库
时间不限
自动

理解问题mp.rcParams['font.sans-serif'] = ['SimHei'] mp.rcParams['axes.unicode_minus'] = False house = pd.read_csv('./data/house_information.csv', usecols=range(1, 9), encoding='utf-8', engine='python') # 1.数据清洗 # 将单价的平米去掉,转换为浮点型 house['单价'] = house['单价'].apply(lambda x: float(x.split('/')[0][:-1])) # 将建筑面积的平米去掉,转换为浮点型 house['建筑面积'] = house['建筑面积'].apply(lambda x: ___(1)___(x[:-2])) # 将房屋总价的万去掉,转换为浮点型 house['房屋总价'] = house['房屋总价'].apply(lambda x: float(x[:-1])) print(house) # 查看房屋信息 print(house.info()) # 定义筛选TOPN单价的条件的函数 def house_in_topn(data, xiaoqu): lst = [] for h in data.values: if ___(2)___ in xiaoqu: lst.append(True) else: lst.append(False) return np.array(___(3)___) # 定义画条形图的函数 def bar_plot(label, **kwargs): mp.figure(label) ax = mp.gca() sn.barplot(ax=ax, ___(4)___) mp.title(label) mp.gcf().autofmt_xdate() # 对小区单价进行降序排列,取前15位 districe = house.groupby(by='小区名称').agg({'单价': 'mean'}).___(5)___(by='单价', ascending=False)[:15] print(districe) # 筛选单价排名前15的小区 data = house.___(6)___[house_in_topn(house['小区名称'], list(districe.index))] # 可视化 bar_plot('TOP15小区单价条形图(元/平米)', data=___(7)___, x='小区名称', y='单价', hue='楼层', palette='Set1', ci=None) # 筛选单价排名前10的朝向 direction = house.groupby(by='朝向').agg({'单价': 'mean'}).sort_values(by='单价', ascending=False)[:___(8)___] # 去house数据中筛选单价排名前10的朝向的数据 house_direction = house.loc[house_in_topn(house['朝向'], list(direction.index))] # 绘制朝向条形图 bar_plot('TOP10小区朝向条形图(元/平米)', data=house_direction, x='朝向', y='单价', palette='Set1', ci=None, order=list(direction.index)) # 筛选单价排名前10的户型 layout = house.groupby(by='户型').agg({'单价': 'mean'}).sort_values(by='单价', ascending=False)[:10] house_layout = house.loc[house_in_topn(house['户型'], layout.index)] # 绘制户型条形图 bar_plot('TOP10小区户型条形图(元/平米)', data=house_layout, x='户型', y='单价', palette='Set1', ci=None, order=layout.index) # 绘制装修情况条形图 bar_plot('装修情况条形图', data=house, x='装修', y='单价', ci=None, palette='Set3') # 绘制单价直方图 sn.___(9)___(house['单价']) mp.title('单价直方图', fontsize=16) mp.xlabel('单价', fontsize=12) mp.ylabel('频数', fontsize=12) # 绘制面积密度图 mp.figure('建筑面积密度图') ax = mp.___(10)___ sn.kdeplot(house['建筑面积'], ax=ax) mp.title('建筑面积密度图', fontsize=16) mp.xlabel('建筑面积', fontsize=12) mp.ylabel('频率', fontsize=12) mp.show()

已完成理解mp.rcParams['font.sans-serif'] = ['SimHei'] mp.rcParams['axes.unicode_minus'] = False house = pd.read_csv('./data/house_information.csv', usecols=range(1, 9), encoding='utf-8', engine='python') # 1.数据清洗 # 将单价的平米去掉,转换为浮点型 house['单价'] = house['单价'].apply(lambda x: float(x.split('/')[0][:-1])) # 将建筑面积的平米去掉,转换为浮点型 house['建筑面积'] = house['建筑面积'].apply(lambda x: ___(1)___(x[:-2])) # 将房屋总价的万去掉,转换为浮点型 house['房屋总价'] = house['房屋总价'].apply(lambda x: float(x[:-1])) print(house) # 查看房屋信息 print(house.info()) # 定义筛选TOPN单价的条件的函数 def house_in_topn(data, xiaoqu): lst = [] for h in data.values: if ___(2)___ in xiaoqu: lst.append(True) else: lst.append(False) return np.array(___(3)___) # 定义画条形图的函数 def bar_plot(label, **kwargs): mp.figure(label) ax = mp.gca() sn.barplot(ax=ax, ___(4)___) mp.title(label) mp.gcf().autofmt_xdate() # 对小区单价进行降序排列,取前15位 districe = house.groupby(by='小区名称').agg({'单价': 'mean'}).___(5)___(by='单价', ascending=False)[:15] print(districe) # 筛选单价排名前15的小区 data = house.___(6)___[house_in_topn(house['小区名称'], list(districe.index))] # 可视化 bar_plot('TOP15小区单价条形图(元/平米)', data=___(7)___, x='小区名称', y='单价', hue='楼层', palette='Set1', ci=None) # 筛选单价排名前10的朝向 direction = house.groupby(by='朝向').agg({'单价': 'mean'}).sort_values(by='单价', ascending=False)[:___(8)___] # 去house数据中筛选单价排名前10的朝向的数据 house_direction = house.loc[house_in_topn(house['朝向'], list(direction.index))] # 绘制朝向条形图 bar_plot('TOP10小区朝向条形图(元/平米)', data=house_direction, x='朝向', y='单价', palette='Set1', ci=None, order=list(direction.index)) # 筛选单价排名前10的户型 layout = house.groupby(by='户型').agg({'单价': 'mean'}).sort_values(by='单价', ascending=False)[:10] house_layout = house.loc[house_in_topn(house['户型'], layout.index)] # 绘制户型条形图 bar_plot('TOP10小区户型条形图(元/平米)', data=house_layout, x='户型', y='单价', palette='Set1', ci=None, order=layout.index) # 绘制装修情况条形图 bar_plot('装修情况条形图', data=house, x='装修', y='单价', ci=None, palette='Set3') # 绘制单价直方图 sn.___(9)___(house['单价']) mp.title('单价直方图', fontsize=16) mp.xlabel('单价', fontsize=12) mp.ylabel('频数', fontsize=12) # 绘制面积密度图 mp.figure('建筑面积密度图') ax = mp.___(10)___ sn.kdeplot(house['建筑面积'], ax=ax) mp.title('建筑面积密度图', fontsize=16) mp.xlabel('建筑面积', fontsize=12) mp.ylabel('频率', fontsize=12) mp.show()

展开阅读网页

回答简洁
更专业一些

在这段代码中,我们可以看到几个关键步骤,包括数据清洗、数据筛选、数据可视化等。下面是对代码中每个部分的详细解释:

  1. 数据清洗:代码中首先对house DataFrame进行了数据清洗。具体来说,它将单价、建筑面积和房屋总价的字符串数据转换为浮点型数据。对于单价,它通过split方法去掉了“平米”单位,然后通过float函数转换为浮点型数据。对于建筑面积,它去掉了“平米”单位,但具体转换函数未给出,需要填写。对于房屋总价,它去掉了“万”单位,然后转换为浮点型数据。123456

  2. 筛选TOPN单价的条件的函数:定义了一个名为house_in_topn的函数,该函数用于筛选出满足特定条件的数据。函数中有一个未完成的部分,需要填写正确的条件来筛选出小区名称在xiaqu列表中的行。7

  3. 画条形图的函数:定义了一个名为bar_plot的函数,用于绘制条形图。函数中有几个未完成的部分,包括如何传递数据给barplot函数,以及如何设置图表的标题。8

  4. 数据筛选:代码中对house DataFrame进行了多次筛选,包括按照单价降序排列并取前15位的小区,筛选单价排名前15的小区,以及筛选单价排名前10的朝向和户型。这些筛选操作使用了groupbyaggsort_values等Pandas函数。7

  5. 数据可视化:代码中使用了Seaborn和Matplotlib库来绘制各种图表,包括条形图、直方图和密度图。这些图表用于展示不同小区、朝向、户型的单价分布,以及单价和建筑面积的关系。89

具体到代码中的未完成部分,以下是可能的填写方式:

  • 对于建筑面积的转换,可以使用与单价类似的lambda表达式,去掉“平米”单位并转换为浮点型数据:lambda x: float(x[:-1])
  • house_in_topn函数中,需要填写的条件是h[0],即小区名称是否在xiaqu列表中。
  • bar_plot函数中,需要填写的部分包括传递数据给barplot函数的参数,以及设置图表标题的参数。
  • 在数据筛选部分,需要填写的部分包括如何使用head函数取前15位,以及如何使用loc函数和house_in_topn函数筛选数据。
  • 在数据可视化部分,需要填写的部分包括如何使用Seaborn的histplot函数绘制直方图,以及如何使用Matplotlib的gca函数获取当前坐标轴。

请注意,这些填写方式是基于代码上下文和Python编程知识推测的,实际应用中可能需要根据具体数据和需求进行调整。

推荐追问
1. 如何在Python中使用pandas处理数据? 2. matplotlib库在数据可视化中的应用? 3. 如何在pandas中对数据进行分组和聚合? 4. seaborn库在数据可视化中的作用是什么? 5. 如何在Python中筛选数据集中的特定条件? 6. 如何使用matplotlib绘制直方图和密度图? 7. pandas中如何对DataFrame进行排序? 8. 如何在Python中创建自定义的数据可视化函数? 9. seaborn库中barplot函数的参数有哪些? 10. 如何在matplotlib中设置图表的标题和标签?
在线客服