请发一个完整版的代码
时间: 2024-02-25 11:54:59 浏览: 17
好的,以下是完整版的代码,包括对面积和价格列的处理,输出结果到Excel文件:
```python
import pandas as pd
import numpy as np
# 读取原始数据文件
data = pd.read_csv('zfsj_group.csv')
# 对面积列数据进行预处理
data['面积(㎡)'] = data['面积(㎡)'].replace('\D', '', regex=True).astype(np.float64)
# 对价格列数据进行预处理
data['价格(元/月)'] = data['价格(元/月)'].replace('\D', '', regex=True).astype(np.int64)
# 对户型列数据进行预处理
data['户型'] = data['户型'].replace({'房间': '室'}, regex=True)
# 对面积列数据统计,计算平均面积和面积中位数
area_mean = data['面积(㎡)'].mean()
area_median = data['面积(㎡)'].median()
# 对价格列数据统计,计算平均价格和价格中位数
price_mean = data['价格(元/月)'].mean()
price_median = data['价格(元/月)'].median()
# 对户型列数据统计,筛选出数量大于50的户型,按数量降序
result = data['户型'].value_counts()
result = result[result > 50].sort_values(ascending=False)
# 将处理后的数据和统计结果输出到Excel文件
writer = pd.ExcelWriter('zfsj_after.xlsx')
data.to_excel(writer, sheet_name='数据', index=False)
result.to_excel(writer, sheet_name='户型数量排名', index=True, header=['户型数量'])
pd.DataFrame({'平均面积': [area_mean], '面积中位数': [area_median], '平均价格': [price_mean], '价格中位数': [price_median]}).to_excel(writer, sheet_name='统计结果', index=False)
writer.save()
```
这段代码对面积和价格列的处理方式和之前类似,都是使用replace函数替换掉非数字字符,并转换为float64或int64类型。对户型列的处理也使用了replace函数,将"房间"替换为"室"。统计部分分别计算了平均值和中位数,并将结果保存在Excel文件中,使用pd.DataFrame将统计结果转换为DataFrame格式,再使用to_excel函数输出到文件中。