如何把Kruskal统计的结果按要求写进CSV
我做了kruskal统计,print 后是这样的KruskalResult(statistic=22.18657412150243, pvalue=0.05253751359358559)
我想写进CSV中。
df2=open(r'\生物燃料香烟暴露CT分析\组间比较统计.csv','w',newline='')
writer2=csv.writer(df2)
writer2.writerow('组间比较统计分析')
stat_result = stats.kruskal(*data_n)
stat_result=
writer2.writerow(['depentent_factor','statistical','P'])
writer2.writerow(stat_result)
我希望的是把stat_result中statistical和p值分别取小数点后两位后放到我想要的位置
depentent_factor statistical P
BMI 22.19 0.05
现在做出来的是
depentent_factor statistical P
BMI KruskalResult(statistic=22.18657412150243, pvalue=0.05253751359358559)
请问,我该如何处理,多谢了
我不是很确定KruskalResult()是个什么,但是你可以试试用正则来清洗数据
举个列子
import re
s = "KruskalResult(statistic=22.18657412150243, pvalue=0.05253751359358559)"
statistic = re.findall("statistic=(.*?),",s)
pvalue = re.findall("pvalue=(.*?)\)",s)
print(statistic)
print(pvalue)
结果:
22.18657412150243
0.05253751359358559 writer2=csv.writer(df2)
writer2.writerow(('组间比较统计分析',))
stat_result = stats.kruskal(*data_n)
writer2.writerow(['depentent_factor','statistical','P'])
writer2.writerow((depentent_factor, stat_result.statistic,stat_result.pvalue))
要不就是
writer2=csv.writer(df2)
writer2.writerow(('组间比较统计分析',))
stat_result = stats.kruskal(*data_n)
writer2.writerow(['depentent_factor','statistical','P'])
writer2.writerow((depentent_factor, stat_result.statistic(),stat_result.pvalue()))
这两个有一个是对的 孤独的嫖客 发表于 2021-1-2 08:59
我不是很确定KruskalResult()是个什么,但是你可以试试用正则来清洗数据
举个列子
非常感谢,这个办法确实非常有用
页:
[1]