pandas练习题

导包+导入数据

python 复制代码
import pandas as pd
house_df = pd.read_csv('E:/数据分析材料/LJdata.csv')

# 将列名修改成英文
house_df.columns = ['district', 'address', 'title', 'house_type', 'area', 'price', 'floor', 'build_time', 'direction', 'update_time', 'view_num', 'extra_info', 'link']

准备动作

1. 查看数据前5行

python 复制代码
print(house_df.head())

2. 查看列数据分布

python 复制代码
house_df.info()

3. 查看列统计指标

python 复制代码
# 默认只统计数值型数据;include='all'统计所有类型的数据
print(house_df.describe(include='all')) 

4. 查看数据形状

python 复制代码
print(house_df.shape)   # (2760,13)

具体的需求

1. 找到租金最低,和租金最高的房子

python 复制代码
# 思路1:排序+head()
print(house_df.sort_values('price').head(1))  # 租金最低
print(house_df.sort_values('price').tail(1))  # 租金最高
# 思路2:nsmallest(), nlargest() 求最小/大的n个值
print(house_df.nsmallest(1,'price')) # 租金最低
print(house_df.nlargest(1,'price')) # 租金最高
# 思路3:筛选
print(house_df[house_df.price == house_df.price.min()]) # 租金最低
print(house_df[house_df.price == house_df.price.max()]) # 租金最高

2. 找到最近新上的10套房源

python 复制代码
print(house_df.sort_values('update_time').tail(10))

3. 查看所有更新时间

python 复制代码
print(house_df.update_time.unique())

4. 查看看房人数的平均值, 最大值, 最小值

python 复制代码
print(house_df.view_num.mean())
print(house_df.view_num.max())
print(house_df.view_num.min())

5. 查看不同看房人数的房源数量,as_index = False 分组字段不作为行索引(默认为True)

python 复制代码
print(house_df.groupby('view_num',as_index=False).agg({'district':'count'}))

6. 查看房租价格的分布, 例如: 平均值, 标准差, 中位数...

python 复制代码
print(house_df.price.describe())

7. 找到看房人数最多的朝向

python 复制代码
tem = house_df.groupby('direction',as_index=False).agg({'view_num':'count'})
print(tem.columns)
tem.columns=['direction', 'count']
print(tem.nlargest(1,'count'))

8. 查找最受欢迎的房型

python 复制代码
tem = house_df.groupby('house_type',as_index=False).agg({'view_num':'count'})
print(tem.columns)
tem.columns=['house_type', 'count']
print(tem.nlargest(1,'count'))

9. 查找房子的平均租房价格 (元/平米)

python 复制代码
# 先算每个房子的平均租房价格,再算全部的平均价格之和除以总数
house_df['price_avg'] = house_df.price/house_df.area
print(house_df.price_avg.mean())

10. 找到出租房源最多的小区

python 复制代码
temp = house_df.groupby('address',as_index=False).agg({'area':'count'})
temp.columns = ['address','count']
print(temp.nlargest(1,'count'))
相关推荐
用户83562907805110 分钟前
Python 实现 PDF 文件加密与解密方法
后端·python
用户83562907805115 分钟前
使用 Python 冻结与拆分 Excel 窗格教程
后端·python
Databend1 小时前
2KB histogram 背后:Databend 如何低成本追踪长尾延迟
大数据·数据分析·agent
Aloudata技术团队4 小时前
正当红的 Context Layer 到底是什么?
数据分析
你好潘先生8 小时前
别再记命令了,用 yeero do 说句人话就能跑脚本,而且不烧 token
服务器·python·命令行
Agent_大师9 小时前
WebSocket 行情重连成功,K线缺口不会自动消失
python
荣码9 小时前
LLM结构化输出:让AI返回JSON而不是废话,我踩了4个坑
java·python
copyer_xyf9 小时前
FastAPI 如何连接 MySQL
后端·python
apocelipes1 天前
常用编程语言和库的正则表达式性能对比
c语言·c++·python·性能优化·golang·开发工具和环境
用户8356290780511 天前
使用 Python 在 PDF 中创建与管理书签
后端·python