Python 数据正态性检验
import pandas as pd
# 两种数据正态性检验方法
from scipy.stats import kstest
from scipy.stats import normaltest
# 设置在DataFrame里的显示格式
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)
pd.set_option('display.max_columns', None)
pd.set_option('display.width', 1000)
# 读入csv数据并进行数据处理
inpath = 'D:\\ROX\\python\\B-5901_20121031_17694.csv'
df = pd.read_csv(inpath, sep=',', skiprows=6, header=0, low_memory=False)
# 删除跳过后的第0行
df = df.drop(0)
# 解决数据中,有时候没有值的情况
df = df.fillna(method='ffill')
df = df.fillna(0)
# 重新排列行号
df.reset_index(drop=True, inplace=True)
# 抽取想要绘图的列数据到一维数据就够Series中,Series中的数据不能直接运算,进行类型转换
IVVR = df['IVVR'].astype('int')
# 数据正态性检验
a = kstest(IVVR, 'norm')
b = normaltest(IVVR, axis=None)
print(a)
print(b)
输出结果:
# statistic代表统计数,pvalue,代表P值,P > 0.05就可认为符合正态分布。
KstestResult(statistic=0.501028517999065, pvalue=0.0)
NormaltestResult(statistic=12403.364247843261, pvalue=0.0)