首页 > 解决方案 > 如何将二维数组的字符串表示形式转换为熊猫系列对象中的numpy数组?

问题描述

我有我的“train”数据框,它的两列是“feature”和“class_label”,train['feature'] 系列对象的每个值都是二维数组的字符串类型表示。例如 print(train['feature'][2]给出这个: -

[-2.1579301e+02  7.1666122e+01 -1.3181377e+02 -5.2091331e+01
 -2.2115967e+01 -2.1764179e+01 -1.1183747e+01  1.8912683e+01
  6.7266378e+00  1.4556893e+01 -1.1782046e+01  2.3010368e+00
 -1.7251303e+01  1.0052422e+01 -6.0094991e+00 -1.3153193e+00
 -1.7693510e+01  1.1171223e+00 -4.3699460e+00  7.2629538e+00
 -1.1815971e+01 -7.4952617e+00  5.4577127e+00 -2.9442446e+00
 -5.8693886e+00 -9.8653756e-02 -3.2121708e+00  4.6092505e+00
 -5.8293266e+00 -5.3475084e+00  1.3341197e+00  7.1307821e+00
 -7.9449967e-02  1.7109249e+00 -5.6942000e+00 -2.9041717e+00
  3.0366950e+00 -1.6827592e+00 -8.8585818e-01  3.5438862e-01]

和 **print(type(train['feature'][2])) 给出<class 'str'>**

如何将其转换为类似维度的 numpy 数组,即 2d ?

标签: pythonarrayspandasnumpy

解决方案


你可以使用numpy.fromstring

  • 例子

    >>> np.fromstring('1 2', dtype=int, sep=' ')


    数组([1, 2])


    >>> np.fromstring('1, 2', dtype=int, sep=',')


    数组([1, 2])



推荐阅读