numpy必知必会-第二天

作者: 人工智能人话翻译官 | 来源:发表于2019-04-26 15:56 被阅读133次

6 替换array中的元素,并赋值给新的array
例如:
输入arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
输出out为array([ 0, -1, 2, -1, 4, -1, 6, -1, 8, -1])
arr为array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
out = np.where(arr  % 2 == 1 , -1 ,  arr)
print(out)
print(arr)

输出:

[ 0 -1  2 -1  4 -1  6 -1  8 -1]
[0 1 2 3 4 5 6 7 8 9]

7 如何改变array的形状
例如:
输入arr=np.arange(10)
输出array([[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]])

arr=np.arange(10)
arr.reshape(2, -1)

输出

array([[0, 1, 2, 3, 4],
       [5, 6, 7, 8, 9]])

8 如何垂直堆叠两个array
例如:
输入a = np.arange(10).reshape(2,-1),b = np.repeat(1, 10).reshape(2,-1)
输出> array([[0, 1, 2, 3, 4],
[5, 6, 7, 8, 9],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1]])

a = np.arange(10).reshape(2,-1)
b = np.repeat(1, 10).reshape(2,-1)
np.concatenate([a, b], axis=0)

输出

array([[0, 1, 2, 3, 4],
       [5, 6, 7, 8, 9],
       [1, 1, 1, 1, 1],
       [1, 1, 1, 1, 1]])

你也可以通过以下操作实现。但上面的方式更通用。

np.vstack([a, b])
np.r_[a, b]

9 如何水平堆叠两个array
例如:
输入a = np.arange(10).reshape(2,-1),b = np.repeat(1, 10).reshape(2,-1)
输出
array([[0, 1, 2, 3, 4, 1, 1, 1, 1, 1],
[5, 6, 7, 8, 9, 1, 1, 1, 1, 1]])

a = np.arange(10).reshape(2,-1)
b = np.repeat(1, 10).reshape(2,-1)
np.concatenate([a, b], axis=1)

输出

array([[0, 1, 2, 3, 4, 1, 1, 1, 1, 1],
       [5, 6, 7, 8, 9, 1, 1, 1, 1, 1]])

你也可以通过以下操作实现。但上面的方式更通用。

np.hstack([a, b])
np.c_[a, b]

10 如何通过numpy的内建函数实现如下操作
输入a = np.array([1,2,3])
输出array([1, 1, 1, 2, 2, 2, 3, 3, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3])

a = np.array([1,2,3])
np.repeat(a, 3), np.tile(a, 3)

输出

(array([1, 1, 1, 2, 2, 2, 3, 3, 3]), array([1, 2, 3, 1, 2, 3, 1, 2, 3]))

现在你知道了repeat和tile的区别,接下来就可以进行如下操作完成任务了

np.r_[np.repeat(a, 3), np.tile(a, 3)]

输出

array([1, 1, 1, 2, 2, 2, 3, 3, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3])

相关文章

  • numpy必知必会——ndarray

    简介 ndarray顾名思义,是一个用来存储多维数组的数据结构。 底层ndarray构造函数 现在,用ndarra...

  • numpy必知必会-第二天

    6 替换array中的元素,并赋值给新的array例如:输入arr = np.array([0, 1, 2, 3,...

  • 优秀参考文章--性能优化

    Android 性能优化必知必会Android 性能优化必知必会

  • numpy必知必会-第六天

    26 把numpy array元素的指定列合成新的array 例如:输入 把每行的第五列,取出并组成新的array...

  • numpy必知必会-第三天

    11 找到两个array中的通用项,并保存在新的array中例如:输入a = np.array([1,2,3,2,...

  • numpy必知必会-第四天

    16 array内中元素的列交换例如:输入array([[0, 1, 2],[3, 4, 5],[6, 7, 8]...

  • 必知必会

    1、斜杠(/)和反斜杠(\) 文件路径 统一使用 / (斜杠)与网址路径保持一致。在有些特殊的情况下,灵活变通。事...

  • 书籍归档

    PHP入门到精通(朋友赠送) 正则表达式必知必会(朋友赠送) SQL必知必会(朋友赠送) Docker技术入门与实...

  • numpy必知必会-第五天

    21 限制numpy array中的浮点数位数 例如:输入array([[0.11680849, 0.11692...

  • numpy必知必会-第十一天

    51 找到一个array中,每行上的最大值 例如构建array data内容如下: 解决办法: 输出: 52 通过...

网友评论

    本文标题:numpy必知必会-第二天

    本文链接:https://www.haomeiwen.com/subject/ulqqnqtx.html