呆鸟的Python数据分析

数据分析之特征分析(一)

2020-01-08  本文已影响0人  羽恒

1 数据质量分析

数据质量分析的主要任务是检查原始数据中是否存在脏数据。

脏数据包括如下内容:

2分布分析

分布分析:研究数据的分布特征和分布类型,通过定量数据、定性数据区分基本统计量

2.1 实例分析

# 数据读取
import  pandas as pd 
import matplotlib.pyplot as  plt  
catering_sale =  "data/catering_sale.xls"
data = pd.read_excel(catering_sale,index_col="日期")
data.head()
# 求极差
def d_range(df,*cols):
    krange = []
    for col in cols:
        crange = df[col].max() - df[col].min()
        krange.append(crange)
    return krange
dr =  d_range(data,"销量")
print("销量极差为 %f" % dr[0]) 
# 频率分布
data["销量"].hist(bins=5)
plt.show()
# 频率分布情况,划分区间
gcut = pd.cut(data["销量"],6,right = False)
gcut_count = gcut.value_counts(sort = False)
data["销量分组区间"] = gcut.values
data.head()
# 区间出现频率
r_zj =  pd.DataFrame(gcut_count)
r_zj.rename(columns={gcut_count.name:'频数'},inplace=True)
r_zj['频率'] = r_zj['频数']/r_zj["频数"].sum()
r_zj["累计频率"] = r_zj['频率'].cumsum()
r_zj['频率%'] =  r_zj['频率'].apply(lambda x:"%.2f" % (x*100))
r_zj['累计频率%'] =  r_zj['累计频率'].apply(lambda x:"%.2f" % (x*100))
r_zj.style.bar(subset=['频率','累计频率'])
# 直方图
r_zj["频率"].plot(kind = "bar",
figsize =(9,5),
grid = True,
color = 'k',
alpha = 0.6,
)
plt.xticks(rotation = 60)
# 增加标签
for i,j,k in zip(range(len(r_zj)),r_zj["频率"],r_zj["频数"]):
    plt.text(i-0.1,j+0.1,'%i' % k, color = 'k')
上一篇下一篇

猜你喜欢

热点阅读