【问题标题】:Split Horizontally Python Array Manipulation水平拆分 Python 数组操作
【发布时间】:2022-01-25 00:58:16
【问题描述】:

如何编写一个名为 split 的函数,它接受三个参数 a、b、c,然后执行以下操作。

  • 创建一个 n 维数组 'x',首先是一个自然数(使用 np.arange 方法)。
  • 将 x 的形状更改为 (c, b) 并分配给新数组 y。
  • 将数组 y 水平拆分为两个数组,然后将其分配给 i 和 j。
  • 显示 i 和 j。

我尝试使用hsplitarray_split 方法,然后将其分配给i 和j。但输出与下面给出的不匹配。

import numpy as np
x=np.arange(20)
y = np.array(x)
z= y.reshape(10,2)
#a = np.hsplit(z,2)
(a,b)=np.array_split(z,2,axis=0)
print(a)
print(b)

实际输出:-

[[0 1]
 [2 3]
 [4 5]
 [6 7]
 [8 9]]
[[10 11]
 [12 13]
 [14 15]
 [16 17]
 [18 19]]

期望的输出:-

[[ 0  1  2  3  4]
 [10 11 12 13 14]]
[[ 5  6  7  8  9]
 [15 16 17 18 19]]

【问题讨论】:

  • 先打印xz

标签: python arrays numpy


【解决方案1】:

你是对的 hsplit,问题只是形状是相反的方式来获得所需的输出:

import numpy as np
x=np.arange(20)
y = np.array(x)
z= y.reshape(2,10)
a,b = np.hsplit(z,2)
print(a)
print(b)

输出:

[[ 0  1  2  3  4]
 [10 11 12 13 14]]
[[ 5  6  7  8  9]
 [15 16 17 18 19]]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-12
    • 1970-01-01
    相关资源
    最近更新 更多