将numpy n-d数组转换为pandas n-d数据帧(可伸缩)

时间:2019-09-17 19:06:45

标签: python pandas numpy scalable

我有一个numpy数组,我想将其转换为熊猫数据框。数组如下所示:

[[-0.97755621 -0.99841427  0.87183304 ... -1.         -1.
  -1.        ]
 [-0.99420538 -0.89543119  0.58787309 ... -1.         -1.
  -1.        ]
 [-0.99960745 -0.49568521  0.70164658 ... -1.         -1.
  -1.        ]
 ...
 [-0.97433223 -0.96236376  0.83987189 ... -1.         -1.
  -1.        ]
 [-0.95304336 -0.99840312  0.70000874 ... -1.         -1.
  -1.        ]
 [-0.97433975 -0.9966319   0.95249494 ... -1.         -1.
  -1.        ]]

因此,列数非常大。 对于这两个问题,我有一个解决方案,看起来像这样。

import numpy as np
import pandas as pd

# Creating a 2 dimensional numpy array
>>> data = np.array([[5.8, 2.8], [6.0, 2.2]])
>>> print(data)
>>> data
array([[5.8, 2.8],
       [6. , 2.2]])

# Creating pandas dataframe from numpy array
>>> dataset = pd.DataFrame({'Column1': data[:, 0], 'Column2': data[:, 1]})

现在的问题是,此解决方案不可扩展,因为需要手动指定列。您是否知道如何使该解决方案可扩展?

预先感谢

1 个答案:

答案 0 :(得分:2)

add_prefix或add_suffix可以快速运行

IN:

df = pd.DataFrame(data)
df.add_prefix('col_')

OUT:

    col_0   col_1
0   5.8 2.8
1   6.0 2.2