目录
- Function application
- 读取数据
- 查看数据信息
- 自定义函数拆分square
- 自定义函数拆分years
- 自定义函数拆分floor
- 自定义函数拆分followInfo
- 1、获取followInfo列
- 2、对followInfo列进行拆分
- 3、提取关注人数
- 4、提取带看次数
- 5、添加到house的最后两列
- 缺失值处理
- house.info
- house.dropna
- 重复值处理
- house.duplicated
- house.drop_duplicates
- 分组
- house.groupby
- 分组
- house.groupby
Function application
读取数据
# 导包
import numpy as np
import pandas as pd
# 读取数据
house = pd.read_csv('./data/house.csv')
house
结果:
查看数据信息
house.info()
结果:
自定义函数拆分square
def split_square(x):
if '平米' in x:
return eval(x[:-2])
else:
return None
house['square'] = house['square'].apply(split_square, convert_dtype=True)
house.head()
结果:
自定义函数拆分years
def split_years(x):
if '年' in str(x):
return x[x.index('年')-4:x.index('年')]
else:
return None
house['years'] = house['years'].apply(split_years, convert_dtype=True)
house
结果:
自定义函数拆分floor
def split_floor(x):
if '(' in str(x):
return str(x)[:str(x).index('(')]
else:
return None
house['floor'] = house['floor'].apply(split_floor, convert_dtype=True)
house
结果:
自定义函数拆分followInfo
1、获取followInfo列
house['followInfo']
结果:
2、对followInfo列进行拆分
def attention_number(x):
return eval(x[:x.split('/')[0].strip().index('人')] )
def follow_number(x):
return eval(x.split('/')[1].strip()[x.split('/')[1].strip().index('共')+1:x.split('/')[1].strip().index('次')] )
3、提取关注人数
house['attention'] = house['followInfo'].apply(attention_number)
4、提取带看次数
house['follow'] = house['followInfo'].apply(follow_number)
5、添加到house的最后两列
house.drop('followInfo', axis=1, inplace=True, errors='ignore')
house.drop('taxtype', axis=1, inplace=True, errors='ignore')
house
结果:
缺失值处理
house.info
house.info()
结果:
house.dropna
参数
- inplace = True 删除所有缺少值的行。
- inplace = False 函数将返回包含删除行的数据。
house.dropna(inplace=True)
house
结果:
重复值处理
house.duplicated
house.drop_duplicates
# 检查是否有重复值
house.duplicated().sum()
# 删除重复值
house.drop_duplicates(inplace=True)
house
结果:
分组
house.groupby
参数
- 将数据以 community进行分组,返回 DataFrameGroupBy 对象
house.groupby(by='community')
结果:
0H-1717780406617)]
分组
house.groupby
参数
- 将数据以 community进行分组,返回 DataFrameGroupBy 对象
house.groupby(by='community')
结果: