Python将行转换为数组

时间:2017-04-13 15:22:32

标签: python arrays pandas multidimensional-array neural-network

我有一个包含所有7x7图像数据的CSV数据集。有7800行和49列。每行代表一个图像。数据看起来像这样。 数据集图像

我需要将数组应用于每一行,以便我可以将所有数据重新整形为2D维数组,其形状如下但是在7x7中。形状示例:

我正在使用python所以我该怎么办?

2 个答案:

答案 0 :(得分:1)

您可以将df更改为矩阵并重新整形:

df.as_matrix().reshape(-1, 7, 7)

答案 1 :(得分:0)

我会这样做:

pd.Series(df.values.reshape(-1, 7, 7).tolist()).apply(np.array)

执行大部分工作的是df.values.reshape(-1, 7, 7)

array([[[101,  62,  20,   9, 125, 160, 144],
        [214,  66,   0,  25, 170,  93,  51],
        [209,  11,  56,  80, 204, 156, 189],
        [ 95, 211,  26, 172, 207,  39, 249],
        [ 73, 160, 105, 167, 189, 230,  75],
        [ 49, 116, 109, 168, 215, 186,  35],
        [ 68, 154, 185,  12, 186,  78, 252]],

       [[247,  18,  14,  67,  67,  89,  93],
        [110, 174, 139,  88, 123, 131, 254],
        [232,   3,  52,  46, 113,   6, 141],
        [221, 220, 116, 141,  65,  54,  84],
        [203,  51, 222, 204, 237, 121,  80],
        [199,   4, 102, 169,   0, 108, 144],
        [ 23, 249, 127,  20, 226,   2, 214]],

       [[ 22, 188,  68,  65,   4,  32,  33],
        [ 63, 241, 120, 147, 253, 162, 255],
        [158, 228,  18,  56, 193, 232, 183],
        [153,   0, 188, 131,  42, 106, 156],
        [ 51,  70, 219, 156,  94,  50,  43],
        [  0, 130, 203,  47, 245, 108, 250],
        [164, 246, 180,  58, 220, 188,  49]]])