项目中在前期经常要看下数据的分布情况,这对于探究数据规律非常有用。概率分布表示样本数据的模样,长的好不好看如果有图像展示出来就非常完美了,使用Python绘制频率分布直方图非常简洁,因为用的频次非常高,这里记录下来。还是Python大法好,代码简洁不拖沓~
如果数据取值的范围跨度不大,可以使用等宽区间来展示直方图,这也是最常见的一种;如果数据取值范围比较野,也可以自定义区间端点,绘制图像,下面分两种情况展示
1. 区间长度相同绘制直方图
#-*- encoding=utf-8 -*-
import datetime
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
zhfont1 = matplotlib.font_manager.FontProperties(fname='C:\Windows\Fonts\simsun.ttc')
# 按照固定区间长度绘制频率分布直方图
# bins_interval 区间的长度
# margin 设定的左边和右边空留的大小
def probability_distribution(data, bins_interval=1, margin=1):
bins = range(min(data), max(data) + bins_interval - 1, bins_interval)
print(len(bins))
for i in range(0, len(bins)):
print(bins[i])
plt.xlim(min(data) - margin, max(data) + margin)
plt.