将 numpy 向量转换为列、pandas

我有一个形状为 (14,50176) 的 numpay 数组,看起来像这样。


[[219 220 221 ...  32  33  34]

 [154 152 149 ...  15  15  15]

 [205 202 192 ... 183 183 179]

 ...

 [  6   7   7 ...  24  24  25]

 [239 245 246 ... 101 117 128]

 [ 21  44  89 ... 120 120 121]]

现在我想将这 14 个向量转换为 Pandas 中的列。它看起来像这样


 vectors

0 [219 220 221 ...  32  33  34]

1 [154 152 149 ...  15  15  15]

2 [205 202 192 ... 183 183 179]

.    ...

3 [  6   7   7 ...  24  24  25]

4 [239 245 246 ... 101 117 128]

5 [ 21  44  89 ... 120 120 121]


慕工程0101907
浏览 245回答 2
2回答

烙印99

你可能想要这个,假设你的意思是 14 行和 1 列:pd.DataFrame(array).apply(list, axis=1)如果您的意思是 50176 行和 1 列,则将其更改为:pd.DataFrame(array).T.apply(list, axis=1)

繁星点点滴滴

您可以将值转换为lists,但随后在 Pandas 中丢失了矢量化函数:a = np.array([[219,220,221,32,  33,  34], [154,152,149, 15, 15 ,15], [205,202,192, 183, 183, 179], [ 6, 7, 7, 24, 24, 25], [239, 245,246, 101, 117,128], [21, 44, 89, 120, 120,121]])df = pd.DataFrame({'vectors':a.tolist()})print (df)                          vectors0     [219, 220, 221, 32, 33, 34]1     [154, 152, 149, 15, 15, 15]2  [205, 202, 192, 183, 183, 179]3           [6, 7, 7, 24, 24, 25]4  [239, 245, 246, 101, 117, 128]5     [21, 44, 89, 120, 120, 121]所以更好的是将其转换为DataFrame:df = pd.DataFrame(a)print (df)     0    1    2    3    4    50  219  220  221   32   33   341  154  152  149   15   15   152  205  202  192  183  183  1793    6    7    7   24   24   254  239  245  246  101  117  1285   21   44   89  120  120  121
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python