程序员数据蛙数据分析每周作业紫水晶书院•文思飞扬(散文、随笔、杂文、评论、科普、日记……

numpy基础知识归纳

2019-03-25  本文已影响14人  Chad你要加油

NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含:

numpy 的属性:

Numpy 的创建 array

创建一个数组

a = np.array([1,26,8]) # list 1d
print(a)

[1 26 8]

指定数据 dtype

a = np.array([1,26,8],dtype=np.int32)
print(a.dtype)

int32

`

Numpy 基础运算 (讲两种)

算术运算符

`
a = np.arange(0,5)
array([0, 1, 2, 3, 4])

a+4
array([4, 5, 6, 7, 8])
`
最简单的就是给数组加上一个标量,然后每个都元素都加上这个标量,当然也可以减乘除。

这些运算符还可以用于两个数组的运算。在numpy中这些运算符是元素级的,即只用于位置相同的元素。


此外,这些运算符还适用于返回值为numpy数值的函数

聚合函数

聚合函数是指对一组值(比如一个数组)进行操作,返回一个单一值作为结果的函数。比如求数组所有元素之和就是聚合函数。
a
array([1, 2, 3, 4, 5])

a.sum()
15

Numpy array 合并

Python中numpy数组的合并有很多方法,如

Numpy array 分割

分割方法有:

  1. 水平分割
  2. 垂直分割
  3. 深度分割

水平分割

下面的代码将把数组沿着水平方向分割为3个相同大小的子数组:
b = hsplit(a,3) print(b)
得到结果为:
[array([[0], [3], [6]]), array([[1], [4], [7]]), array([[2], [5], [8]])]

垂直分割

下面的代码将把数组沿着垂直方向分割为3个相同大小的子数组:
b = vsplit(a,3) print(b)
得到结果为:
[array([[0, 1, 2]]), array([[3, 4, 5]]), array([[6, 7, 8]])]

深度分割

先创建一个三维数组:
a = arange(27).reshape(3,3,3) print(a)
调用dsplit函数按深度方向分割数组
b = dsplit(a,3) print(b)
得到结果
`
[array([[[ 0],
[ 3],
[ 6]],

   [[ 9],
    [12],
    [15]],

   [[18],
    [21],
    [24]]]),

array([[[ 1],
[ 4],
[ 7]],

   [[10],
    [13],
    [16]],

   [[19],
    [22],
    [25]]]),

array([[[ 2],
[ 5],
[ 8]],

   [[11],
    [14],
    [17]],

   [[20],
    [23],
    [26]]])]

`

Numpy copy & deep copy

简单了解
numpy关于copy有三种情况,完全不复制、视图(view)或者叫浅复制(shallow copy)和深复制(deep copy)。

添加公众号【数据蛙DataFrog】,我们一起学习交流
上一篇下一篇

猜你喜欢

热点阅读