表格可以格式化为我理想的形状。我写了代码,
return Promise.all([from_data, to_data]).then( result => {
const from_name = result[0].data().name;
const to_name = result[1].data().name;
console.log("FROM:" + from_name + "TO:" + to_name);
return true; // any value will do here
});
df变量具有类似
的数据.*\bUSA(?![\w-]).*
当我运行此代码时,
#coding:utf-8
import scipy as sp
import scipy.stats
import pandas as pd
import numpy as np
data = df.loc[:, :].tolist()
ans = sp.stats.kruskal(data)
我收到此错误,
10min 20min 30min 40min 50min 60min
0 6 7 9 15 21 30
0 2 4 7 9 13 24
0 3 9 18 25 34 49
0 7 13 17 21 25 28
我想重塑df进入
data = df.loc[:, :].tolist()
可以在File "/Users/xxx/anaconda3/envs/py36/lib/python3.6/site-packages/pandas/core/generic.py", line 3614, in __getattr__
return object.__getattribute__(self, name)
AttributeError: 'DataFrame' object has no attribute 'tolist'
中使用。
我该如何解决这个问题?我的代码有什么问题?
答案 0 :(得分:0)
你需要df.values
这是NDFrame的Numpy表示。有关详细信息,请参阅here。
>>> df.values.tolist()
[[6L, 7L, 9L, 15L, 21L, 30L], [2L, 4L, 7L, 9L, 13L, 24L], [3L, 9L, 18L, 25L, 34L, 49L], [7L, 13L, 17L, 21L, 25L, 28L]]
虽然这确实将Df值排列到列表列表中,但它并不能解决kruskal。
您可能希望进一步调查。
>>> data = df.values.tolist()
>>> sp.stats.kruskal(data)
Traceback (most recent call last):
File "<pyshell#12>", line 1, in <module>
sp.stats.kruskal(data)
File "C:\Python27\lib\site-packages\scipy\stats\stats.py", line 5030, in kruskal
raise ValueError("Need at least two groups in stats.kruskal()")
ValueError: Need at least two groups in stats.kruskal()
修改强>
可能您正在寻找通过将* arg直接传递给krushkal的功能而获得的追随者。
>>> args = [df[col] for col in df.columns]
>>> args
[0 6
0 2
0 3
0 7
Name: 10min, dtype: int64, 0 7
0 4
0 9
0 13
Name: 20min, dtype: int64, 0 9
0 7
0 18
0 17
Name: 30min, dtype: int64, 0 15
0 9
0 25
0 21
Name: 40min, dtype: int64, 0 21
0 13
0 34
0 25
Name: 50min, dtype: int64, 0 30
0 24
0 49
0 28
Name: 60min, dtype: int64]
>>> sp.stats.kruskal(*args)
KruskalResult(statistic=17.757426823940584, pvalue=0.003266295595505132)
>>>