python - 重塑 np 数组的块
问题描述
我有一个名为“all_runs”的 numpy 数组,它由我在一个函数中附加的数百个 np 数组组成。这是我附加两个数组时的示例:
[0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2]
我想将其重塑为以下内容:
0 1 2
0 1 2
0 1 2
0 1 2
0 1 2
0 1 2
0 1 2
0 1 2
我试过这个:
df = pd.DataFrame(all_runs.reshape(3, 8))
但它没有给出我想要的结果:
0 0 0
0 1 1
1 1 2
2 2 2
0 0 0
0 1 1
1 1 2
2 2 2
有没有一种有效的方法来拆分数组并以上面显示的格式重塑它?
解决方案
在一行中:
a = np.array([0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2])
print(np.vstack(np.hsplit(a.reshape(6,4).transpose(),2)))
输出:
[[0 1 2]
[0 1 2]
[0 1 2]
[0 1 2]
[0 1 2]
[0 1 2]
[0 1 2]
[0 1 2]]
推荐阅读
- java - 使用 Consumer 对象的两种语法有什么区别?
- hex - 如何在 RSA 中获取私钥内容的十进制值
- sql - Efficient way to combine 2 tables and get the row with max year with preference to one of the table
- javascript - export default new Vuex.Store and Mutations
- python - Why is SIGALARM killing the Python program on Linux?
- javascript - 如何在 ng-click angularjs 中动态添加表达式 {{}}
- javascript - VueJS单击1个按钮并禁用其余按钮
- compilation - f# - Use common object without passing it everywhere
- android - 如何将jsonarray存储到字符串数组android
- python - 如何在 Kafka 中动态添加新的应用程序消费者