表格可以格式化为我理想的形状

时间:2018-04-20 04:17:38

标签: python pandas

表格可以格式化为我理想的形状。我写了代码,

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' 中使用。
我该如何解决这个问题?我的代码有什么问题?

1 个答案:

答案 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)
>>>