阅读背景:

python - 房屋资料处理(detection and imputation)

来源:互联网 
# coding: utf-8

# In[53]:

import pandas 
df = pandas.read_csv('Data/house_data.csv')


# In[54]:

# 查看前几行数据
df.head(3)


# In[55]:

# 删除unnamed
del df['Unnamed: 0']
df.head(3)


# ## 将第一列作为 index

# In[56]:

df = pandas.read_csv('Data/house_data.csv', index_col=0) #直接设置index 是csv 的第0列
df.head(3)


# ## 将暂无资料设置为缺失值

# In[57]:

# 方法1
import numpy as np
df.ix[df['物 业 费'] == '暂无资料', '物 业 费'] = np.nan
df.head(3)


# In[58]:

# 方法2
import pandas 
df = pandas.read_csv('Data/house_data.csv', na_values='暂无资料', index_col=0) # 直接设置为na值
df.head(3)


# In[59]:

# 审查DataFram 信息
df.info()


# In[60]:

# 审查字段名称
df.columns


# In[61]:

df.dtypes


# In[62]:

# 取得叙述性统计
df.describe()


# In[63]:

# 审查出缺失值
df.isnull().any()


# In[64]:

# 缺失值比率
df.isnull().sum() / df.count()


# ## 删除缺失值列

# In[65]:

del df['参考月供']
df.head(3)


# ## 筛选字段

# In[66]:

df['产权性质'].value_counts()


# In[67]:

df = df[(df['产权性质'] == '个人产权') & (df['建筑面积'] > 100.0)]
df.head(3)


# In[68]:

df['产权性质'].value_counts()


# ## 丢弃包含缺失值的字段

# In[69]:

# 查看
df[df['建筑类别'].isnull()].head(3)


# In[70]:

# 删除
df = df.dropna(axis=1, how='all')
df.head(3)


# In[71]:

# 补齐
df['物 业 费'] = df['物 业 费'].fillna(0)
df.head(3)


# In[74]:

# 补齐房价
df['總價'] = df['總價'].fillna(df['建筑面积'] * (df['總價'] / df['建筑面积']).mean())
df['總價'].isnull().any()


# In[82]:

df.to_csv('Data/house_final.csv') # 
# coding: utf-8

# In[53]:

import pandas 
df =



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: