如何在Python中实现行到列的转换

2024-10-01 04:48:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我有如下数据。在

[ 1.  2.  3.  4.  5.  6.  7.  8.  9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34.] <br>

(34,)

但我想做这个(1,34)。
当我使用np.重塑像

^{pr2}$

我得到的数据如下。在

[[ 1.  2.  3.  4.  5.  6.  7.  8.  9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
  19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34.]]

(1, 34)

但我觉得很奇怪。你能推荐一个解决方案吗?
%np.转置不会改变任何东西。在


Tags: 数据brnp解决方案pr2塑像
2条回答

您还可以使用数组的转置到(df.T)来获得所需的输出。在

因此,使用numpy的respeme(),它将改变数组的维数。这些维度必须是元素之和的因子。在你的情况下,你的数组有34个值,所以你只有4个选项。维度为(1,34)或(2,17),如下所示:

    array([[ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
        17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
        33, 34]])

以及

^{pr2}$

或者你可以用(34,1)反过来做:

array([[ 1],
       [ 2],
       [ 3],
       [ 4],
       [ 5],
         .
         .
       [34]

或者最后(17,2)看起来像:

array([[ 1,  2],
       [ 3,  4],
       [ 5,  6],
       [ 7,  8],
       [ 9, 10],
       [11, 12],
       [13, 14],
       [15, 16],
       [17, 18],
       [19, 20],
       [21, 22],
       [23, 24],
       [25, 26],
       [27, 28],
       [29, 30],
       [31, 32],
       [33, 34]])

这是因为34只分解为2*17或17*2。在

相关问题 更多 >