【问题标题】:How to convert row to column in Python [duplicate]如何在Python中将行转换为列[重复]
【发布时间】: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 个元素的列表。这就是奇怪的显示所显示的,对吧?按照惯例,我们将二维数组的第一个维度视为行数,将第二个维度视为列数。一维数组只有元素(没有行或列)。

标签: python numpy


【解决方案1】:

所以使用 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]

或者 finally (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。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-23
      • 2021-08-12
      • 2023-03-26
      • 2013-11-12
      • 1970-01-01
      • 1970-01-01
      • 2017-05-09
      • 2013-06-22
      相关资源
      最近更新 更多