【问题标题】:How to Reccurently Transpose A Series/List/Array如何经常转置一个系列/列表/数组
【发布时间】:2020-01-02 06:09:38
【问题描述】:

我有一个数组/列表/熊猫系列:

np.arange(15)
Out[11]: array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14])

我想要的是:

[[0,1,2,3,4,5],
[1,2,3,4,5,6],
[2,3,4,5,6,7],
...
[10,11,12,13,14]]

也就是说,循环地将这些列转置为一个 5 列的矩阵。

原因是我正在为一列温度数据做特征工程。我想使用最后 5 个数据作为特征,下一个作为目标。

最有效的方法是什么?我的数据很大。

【问题讨论】:

  • 有必要创建矩阵吗?不如做一个滚动窗口?
  • 我想要矩阵,矩阵可以做很多事情。
  • 使用生成器 - 使用 itertools 配方。
  • @wwii 更具体地说?
  • 欢迎来到 SO。请使用tour 并花时间阅读How to Ask 以及该页面上的其他链接。这不是讨论论坛或教程服务。您应该花一些时间通过the Tutorial 练习这些示例。它将向您介绍 Python 为解决您的问题所提供的工具。

标签: python arrays pandas list


【解决方案1】:

如果数组是这样格式化的:

arr = np.array([1,2,3,4,5,6,7,8,....])

你可以这样试试:

recurr_transpose = np.matrix([[arr[i:i+5] for i in range(len(arr)-4)]])

【讨论】:

    猜你喜欢
    • 2015-11-26
    • 2022-01-16
    • 2019-10-09
    • 2022-10-15
    • 2020-11-07
    • 1970-01-01
    • 2020-01-01
    • 2012-01-17
    • 1970-01-01
    相关资源
    最近更新 更多