Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 从2D numpy数组构造堆叠数据帧_Python 2.7_Pandas_Numpy - Fatal编程技术网

Python 2.7 从2D numpy数组构造堆叠数据帧

Python 2.7 从2D numpy数组构造堆叠数据帧,python-2.7,pandas,numpy,Python 2.7,Pandas,Numpy,我有一个形状为(47365L,14L)的numpy数组,我想将其转换为2列数据帧,其中第一列是id,这是原始数组中的列数,第二列是数据,这是列的内容,如下图所示 我尝试了这个代码,但没有成功 S.shape >>(47365L, 14L) IC_Label = ['sub_'+str(subNum) +'_IC_'+str(i) for i in range(0,S.shape[1])] ICA_df=pd.DataFrame(data=S, col

我有一个形状为(47365L,14L)的numpy数组,我想将其转换为2列数据帧,其中第一列是id,这是原始数组中的列数,第二列是数据,这是列的内容,如下图所示

我尝试了这个代码,但没有成功

    S.shape
    >>(47365L, 14L)
    IC_Label = ['sub_'+str(subNum) +'_IC_'+str(i) for i in range(0,S.shape[1])]
    ICA_df=pd.DataFrame(data=S, columns= IC_Label)
输出:

        sub_1_IC_0  sub_1_IC_1  sub_1_IC_2  sub_1_IC_3  sub_1_IC_4 ............sub_1_IC_13
    0   -0.002277   -0.003315   -0.001300   0.000283    0.000473
    1   -0.004442   0.002921    0.000517    -0.000033   0.000349
    2   -0.003370   0.006067    0.002504    -0.000359   0.001467
    3   0.000075    0.004708    0.000087    -0.000176   0.002561
    .
    .
    47364
我的数据如下所示:

    ('MyData', array([[ -2.27721244e-03,  -3.31485020e-03,  -1.30029316e-03, ...,
     -1.33952356e-03,   2.93513841e-03,   1.22486268e-03],
   [ -4.44161427e-03,   2.92134270e-03,   5.17394574e-04, ...,
     -1.42587472e-03,   4.74996003e-03,   2.86699268e-03],
   [ -3.36958390e-03,   6.06671900e-03,   2.50417650e-03, ...,
      3.80042801e-03,   4.77244983e-03,   2.82142774e-03],
   ..., 
   [  3.57952033e-04,  -3.55516707e-04,   1.32481754e-03, ...,
      7.55565993e-03,   1.52018736e-02,  -4.67047470e-03],
   [ -2.07206006e-03,   6.60686763e-04,   2.04637699e-03, ...,
      7.94521155e-03,   1.50024315e-02,  -4.88461803e-03],
   [  1.43106607e-03,  -1.77342544e-03,   4.57835186e-05, ...,
      5.55311541e-03,   1.61148688e-02,  -4.63583610e-03]]))
有什么办法吗


谢谢

我认为您需要通过
[1]
数据帧
构造函数选择元组的第二个值,最后:

然后使用:

另一种用于展平的替代方法是:


您可以添加您输入的数据样本吗?@jezrael请检查编辑谢谢,但我希望将列的所有值相互堆叠,并将列的名称作为索引
df = pd.DataFrame(a[1]).add_prefix('sub_1_IC_')
print (df)
   sub_1_IC_0  sub_1_IC_1  sub_1_IC_2  sub_1_IC_3  sub_1_IC_4  sub_1_IC_5
0   -0.002277   -0.003315   -0.001300   -0.001340    0.002935    0.001225
1   -0.004442    0.002921    0.000517   -0.001426    0.004750    0.002867
2   -0.003370    0.006067    0.002504    0.003800    0.004772    0.002821
3    0.000358   -0.000356    0.001325    0.007556    0.015202   -0.004670
4   -0.002072    0.000661    0.002046    0.007945    0.015002   -0.004885
5    0.001431   -0.001773    0.000046    0.005553    0.016115   -0.004636
df = pd.DataFrame(a[1]).add_prefix('CL_').melt(var_name='id', value_name='data')
print (df.head(10))
     id      data
0  CL_0 -0.002277
1  CL_0 -0.004442
2  CL_0 -0.003370
3  CL_0  0.000358
4  CL_0 -0.002072
5  CL_0  0.001431
6  CL_1 -0.003315
7  CL_1  0.002921
8  CL_1  0.006067
9  CL_1 -0.000356
df = pd.DataFrame({'data':a[1].T.ravel(), 
                   'id': np.repeat(np.arange(6), 6)}, columns=['id','data'])
df['id'] = 'CL' + df['id'].astype(str)
print (df.head(10))
     id      data
0  CL_0 -0.002277
1  CL_0 -0.004442
2  CL_0 -0.003370
3  CL_0  0.000358
4  CL_0 -0.002072
5  CL_0  0.001431
6  CL_1 -0.003315
7  CL_1  0.002921
8  CL_1  0.006067
9  CL_1 -0.000356