python - 如何将 statsmodels 测试的结果导出到 CSV?
问题描述
我只是在学习如何使用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])
推荐阅读
- c++ - 如何在 C++ 中交换不同数据类型的两个值
- php - 如何正确比较刀片文件中的两个日期时间?
- java - 初始化 ThreadStart 事件回调和正在创建的代理线程之间的 java 代理中的竞争条件
- python - 我正在尝试将 python 代码转换为 pyspark,但由于“行”对象不支持项目分配而出现错误
- c++ - Qt 和 C++:多个按钮上的信号和插槽
- python - 如何在 Python 中仅添加元组中的第二个元素?
- elasticsearch - Elasticsearch 不会对所有匹配的文档进行评分?
- apache - 主机关闭时的 Apache ProxyPassReverse 回退
- django - Django如何将媒体文件(或图像)的引用存储在数据库中
- javascript - 通过 Chrome API for Chrome Extensions 将 HTML 和 JS(带有事件侦听器)添加到页面