我只是在学习如何使用statsmodels(Python模块)来执行诸如回归分析,测试正态性和同质性等操作。我正在处理几个数据集(通常为CSV文件),并希望编写一个脚本来帮助我更有效地执行此操作。我的数据只是一组数字。
数据示例
column1, column2
2.80609,2.80609
2.39059,1.6697286666666666
3.6487540000000003,1.8243770000000001
1.8582885714285717,3.0046419047619044
2.587834,1.7252226666666666
...
特别是,我想:
((1)遍历多个文件的测试]
((2)将每个测试的结果保存到新文件中的新行中
我正在使用的一项测试示例。
data = pd.read_csv("data.csv")
column1 = data['column1']
p_value = sm.stats.diagnostic.lilliefors(data, dist='norm', pvalmethod='approx')
它导出的浮点看起来像这样。
(0.08557045418097009, 7.144631930303909e-50)
我对if / else和boolean值的探索导致该代码打印了同样很漂亮的文本,即使导出也是如此。
p_value = sm.stats.diagnostic.lilliefors(curvature_length, dist='norm', pvalmethod='approx')[1]
if p_value<0.05:
print("Data is not normal distributed")
else:
print("Data is normal distributed")
print(p_value)
非常感谢您提供有关此操作的提示和反馈!
将两个浮点数写入CSV https://docs.python.org/3/library/csv.html
import csv
with open('eggs.csv', 'w', newline='') as csvfile:
csvwriter = csv.writer(csvfile)
在成对的花车之间循环
csvwriter.writerow([float1, float2])