为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Python 中将行转换为列

如何在 Python 中将行转换为列

一只萌萌小番薯 2021-12-09 10:53:49
我有如下数据。[ 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.reshape 时np.reshape(data, (1,34))我得到如下数据。[[ 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.transpose 不会改变任何东西。
查看完整描述

1 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

所以使用 numpy 的 reshape(),它会改变数组的维度。这些维度必须是元素总和的因子。在您的情况下,您的数组有 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]])


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, 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。


查看完整回答
反对 回复 2021-12-09
  • 1 回答
  • 0 关注
  • 785 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信