python - 如何在 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.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 不会改变任何东西。
解决方案
所以使用 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。
推荐阅读
- sql - 如何在不分组的情况下获得一列窗口平均值?
- visual-studio-2017 - 有没有办法用 CTRL+[NUMBER] 而不是 CTRL+TAB 切换选项卡?
- javascript - index.html 可以播放音频文件吗?如果是这样,我怎样才能实现它在后台自动播放?
- java - 如何使用 Java 从 API 中检索信息?
- c - 来自c中typedef定义的指针的不兼容类型
- java - 如何使用毕加索上传和检索图像
- c# - 将 FSharpFun 从 C# 传递到 F#
- javascript - 创建取消按钮...如何在 Node/Express.js 中完全中止请求
- azure - Azure:如何在不重新启动应用服务的情况下重新加载环境变量
- swift - Siri Intent Suggested Invocation Phrase 未显示在 ShortcutViewController 中