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'))
相关推荐
码界索隆2 小时前
Python转Java系列:面向对象基础
java·开发语言·python
逻辑星辰2 小时前
x-ds-pow-response逆向分析
开发语言·人工智能·python·深度学习·算法
c_lb72882 小时前
涨跌停与流动性变差还要不要挂单:quote 涨跌停字段与熔断思路
python·区块链
留白_2 小时前
pandas进阶学习
学习·pandas
非生而知之者2 小时前
基于灰狼算法优化的电量预测
python·算法·群体智能算法·电力预测
Rain5092 小时前
1.3. Next.js与Nest.js在AI数据分析中的角色
前端·javascript·人工智能·后端·数据分析·node.js·ai编程
AI行业学习2 小时前
CC‑Switch v3.16.1 免费下载(Windows+macOS+Linux)、使用方法【2026.6.11】
linux·开发语言·windows·python·macos·前端框架·html
_Evan_Yao2 小时前
递归函数入门:以阶乘和斐波那契数列为例
python·学习·算法