import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号
input_data = pd.read_csv(r"runoff.csv") # 读取格式是year,runoff两行数据 文件和程序放在同一个文件下
print(input_data.head())
print(len(input_data))
# 正序列计算
Sk_list = [0] # 定义累计量序列Sk,初始值=0
UFk_list = [0] # 定义统计量UFk,初始值 =0
Sk = 0 # 定义Sk序列元素s,初始值 =0
Exp_Sk_value_list = [0] # 均值
Var_Sk_value_list = [0] # 方差
# i从1开始,因为根据统计量UFk公式,i=0时,Sk(0)、E(0)、Var(0)均为0
# 此时UFk无意义,因此公式中,令UFk(0)=0
for i in range(1, len(input_data)):
for j in range(i):
if input_data["runoff"][i] > input_data["runoff"][j]:
Sk = Sk + 1
Python编写M-K检验
最新推荐文章于 2024-02-23 20:50:59 发布