【发布时间】:2019-08-09 11:45:47
【问题描述】:
我有如下数据。
[ 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 不会改变任何东西。
【问题讨论】:
-
我不清楚你到底在问什么。你应该用更好的例子来详细说明。
-
据我了解,您希望行成为列,列成为行。假设您的数据存储在
data,请尝试使用data.T。就像@Leonid 说的,你的问题不是很清楚。 -
“但这对我来说看起来很奇怪。” 这对我来说是正确的,这就是你所说的你想要的。
-
@hridayns,
data是一个形状为 (34,) 的一维数组。在numpy中,转置操作交换现有维度;它不会创建新的维度。所以在一维数组上,转置操作什么都不做。 -
一个 (1,34) 形状数组显示为一个包含 1 个元素的列表 - 该元素本身就是一个列表 - 一个包含 34 个元素的列表。这就是奇怪的显示所显示的,对吧?按照惯例,我们将二维数组的第一个维度视为行数,将第二个维度视为列数。一维数组只有元素(没有行或列)。