描述统计的总结
统计量
# In[48]:均值
snd.price.mean()
# In[4]:中位数
snd.price.median()
# In[5]:标准差
snd.price.std()
# In[6]:偏度
snd.price.skew()
# In[16]:
snd.price.agg(['mean','median','sum','std','skew'])
# In[17]:分位数,这里取的是1%,50%,99%分位数
snd.price.quantile([0.01,0.5,0.99])
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
import seaborn as sns
import os
#get_ipython().magic('matplotlib inline')
# In[47]:
os.chdir(r'D:\pydata')
snd = pd.read_csv("sndHsPr.csv")
# In[54]: 将 price 和 AREA 列的数据相乘
snd["all_pr2"]=snd[["price","AREA"]].apply(lambda x:x[0]*x[1], axis = 1 )
snd.head()
# In[21]:
district = {'fengtai':'丰台区','haidian':'海淀区','chaoyang':'朝阳区','dongcheng':'东城区','xicheng':'西城区','shijingshan':'石景山区'}
snd['district'] = snd.dist.map(district)
# snd_new = snd.drop('dist',axis = 1)
snd.head()
# In[22]:
#snd.dist.value_counts()
snd.district.value_counts()
#type(snd.district.value_counts())
#snd.district.value_counts()/snd.district.count()
Out[6]:
丰台区 2947
海淀区 2919
朝阳区 2864
东城区 2783
西城区 2750
石景山区 1947
Name: district, dtype: int64
一个分类变量
# In[30]: 柱形图
#如遇中文显示问题可加入以下代码
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体
mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
snd.district.value_counts().plot(kind = 'bar')
#snd.district.value_counts().plot(kind = 'pie')
一个连续变量
# 直方图,bins=40 分 40 份
snd.price.hist(bins=40)
下面是分析两个变量之间的关系
# In[27]: district 为行,school 为列,python总是先行后列
sub_sch = pd.crosstab(snd.district,snd.school)
sub_sch
Out[15]:
school 0 1
district
东城区