将行向量添加到新数据帧中会添加标头名称,但不会添加值

时间:2019-03-26 11:20:54

标签: python pandas

我有一个数据框,例如;

0        0.1912
1        0.3597
2        0.3597
3        0.3597
4        0.3597
5        0.3597
6        0.2739
7        0.1641
8        0.0776
      .
      .
      .

首先,我将其转换为行向量。之后,看起来像这样;

      0       1       2       3      ...   18933   18934   18935   18936
ecg  0.1912  0.3597  0.3597  0.3597  ...  0.3847  0.3847  0.3847  0.3847

因此,如您所见,索引号现在是列标题名称。假设我已将上述行向量存储在名为row_vector的变量中。之后,我想将此行向量添加到这样的另一个数据帧中;

df = pd.DataFrame({'ecg':[row_vector]}) #ecg is used to be a header name for the row vector

当我这样做时,它会将行向量添加到这个新的数据帧中,但是方式是错误的;

                                                 ecg
0        0       1       2       3      ...   190...

如您所见,它添加了行向量的“标题名称”,而不是这些标题名称下的实际值。我想要这样的结果;

                                                                      ecg
0  0.1912  0.3597  0.3597  0.3597  ...  0.3847  0.3847  0.3847  0.3847 ...

那么,我该如何解决?预先感谢...

1 个答案:

答案 0 :(得分:1)

您可以使用系列对象的.values.to_numpy(0.24版中的新增功能)方法来访问其值。请参见下面的示例。

df = pd.DataFrame({'A':[0,1,2,3,4]})

print(df['A']) # prints indexs and values

打印:

0    0
1    1
2    2
3    3
4    4
5    5
Name: A, dtype: int64

而您只能访问这些值:

print(df['A'].to_numpy())

打印到屏幕:

[0 1 2 3 4 5]

注意,.values的文档带有警告:

  

警告我们建议使用Series.array或Series.to_numpy(),   取决于您是否需要参考基础数据还是   NumPy数组。

所以我将使用.to_numpy方法。