NumPy部分API使用

在使用TensorFlow框架进行机器学习时,NumPy这个数学工具比Python自带的要好用多了。在学习过程中对某些API有些迷茫,下面对本人使用过程中用的比较频繁的NumPy API进行例举。

安装NumPy

$ pip install numpy

在OS X环境上可能会出现Permission denied,这样需要在前面加上sudo,这样安装不会影响使用。

  1. numpy.arange
    numpy.arange([start, ]stop, [step, ]dtype=None)
>>> import numpy as np
>>> np.arange(1,10,2)
array([1, 3, 5, 7, 9])
>>> np.arange(10)
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
  1. numpy.reshape(a, newshape, order='C')
    创建一个多维数组
>>> np.arange(12).reshape((4,3))
array([[ 0,  1,  2],
       [ 3,  4,  5],
       [ 6,  7,  8],
       [ 9, 10, 11]])
>>> 
  1. numpy.random.shuffle和numpy.random.permutation
    shuffle意思为洗牌,permutation为排列,这两者都可以对数据打散random排序,不同的是shuffle在原来的数组上进行操作,无返回值,permutation是生成一个新的数组,原数组不会改变。
>>> arr = np.arange(11)
>>> arr
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10])
>>> np.random.shuffle(arr)
>>> arr
array([10,  3,  2,  1,  8,  4,  0,  7,  5,  9,  6])
>>> arr2 = np.random.permutation(arr)
>>> arr
array([10,  3,  2,  1,  8,  4,  0,  7,  5,  9,  6])
>>> arr2
array([ 6,  5,  4,  3,  1,  7,  8,  2,  9,  0, 10])
  1. 切片的使用
    (1)[:]
    [:]表示复制源列表;
    index为负值表示从后往前,-1表示最后一个。
>>> arr = np.arange(10)
>>> arr1 = arr[:]
>>> arr1
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> arr
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> arr1[-2]
8

(2)arr_name[行操作,列操作]
取行数据[i:j, :]

>>> arr = np.arange(12).reshape((4,3))
>>> arr[1:3,:]
array([[3, 4, 5],
       [6, 7, 8]])
>>> arr[np.arange(2),:]
array([[0, 1, 2],
       [3, 4, 5]])
>>> arr[:3,:]
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])

取列数据[:, i:j]

>>> arr[:,0]    # 以行的形式返回
array([0, 3, 6, 9])
>>> arr[:,:1]    # 以列的形式返回
array([[0],
       [3],
       [6],
       [9]])
>>> arr[:,np.arange(2)]    # 以列的形式返回
array([[ 0,  1],
       [ 3,  4],
       [ 6,  7],
       [ 9, 10]])
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 基础篇NumPy的主要对象是同种元素的多维数组。这是一个所有的元素都是一种类型、通过一个正整数元组索引的元素表格(...
    oyan99阅读 10,581评论 0 18
  • 先决条件 在阅读这个教程之前,你多少需要知道点python。如果你想从新回忆下,请看看Python Tutoria...
    舒map阅读 7,484评论 1 13
  • NumPy是Python中关于科学计算的一个类库,在这里简单介绍一下。 来源:https://docs.scipy...
    灰太狼_black阅读 5,033评论 0 5
  • 贫民窟的百万富翁 Slumdog Millionaire 影片《贫民窟的百万富翁》由英国导演丹尼·博伊尔所执导,根...
    林曦雪阅读 3,134评论 0 0
  • 七彩阁阅读 3,547评论 4 5

友情链接更多精彩内容