python数据分析——numpy

简介

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

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

  • 一个强大的N维数组对象 ndarray
  • 广播功能函数
  • 整合 C/C++/Fortran 代码的工具
  • 线性代数、傅里叶变换、随机数生成等功能

安装

pip install numpy

测试是否安装成功:

>>> from numpy import *
>>> eye(4) #生成对角矩阵
array([[1., 0., 0., 0.],
       [0., 1., 0., 0.],
       [0., 0., 1., 0.],
       [0., 0., 0., 1.]])

创建数组:

导入Numpy库,并命名为np

import numpy as np

NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。创建一个 ndarray 只需调用 NumPy 的 array 函数即可:

numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
名称描述
object数组或嵌套的数列
dtype数组元素的数据类型,可选
copy对象是否需要复制,可选
order创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)
subok默认返回一个与基类类型一致的数组
ndmin指定生成数组的最小维度

举例: 

import  numpy as np
#通过列表创建一维数组
a = np.array([1, 2, 3])
print(a)
#通过列表创建二维数组
a = np.array([(1, 2, 3), (4, 5, 6)])
print(a)

  结果:

[1 2 3]
[[1 2 3]
 [4 5 6]]

numpy.empty 方法用来创建一个指定形状(shape)、数据类型(dtype)且未初始化的数组:

numpy.empty(shape, dtype = float, order = 'C')
shape数组形状
dtype数据类型,可选
order有"C"和"F"两个选项,分别代表,行优先和列优先,在计算机内存中的存储元素的顺序。
import numpy as np
x = np.empty([3,2], dtype = int)
print (x)

 numpy.zeros创建指定大小的数组,数组元素以 0 来填充。

numpy.zeros(shape, dtype = float, order = 'C')
shape数组形状
dtype数据类型,可选
order'C' 用于 C 的行数组,或者 'F' 用于 FORTRAN 的列数组
import numpy as np
x = np.zeros((3, 4))
print (x)

 结果:

[[0. 0. 0. 0.]
 [0. 0. 0. 0.]
 [0. 0. 0. 0.]]

import numpy as np
x = np.zeros((3, 4), dtype = np.int)
print (x)

结果:

[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]

numpy.ones创建指定形状的数组,数组元素以 1 来填充。

import numpy as np
x = np.ones([2,2], dtype = int)
print (x)

 结果:

[[1 1]
 [1 1]]

numpy.full函数,创建任意大小的数组并填充任意数字

import numpy as np
x = np.full((3, 4), 2)
print (x)

 结果:

[[2 2 2 2]
 [2 2 2 2]
 [2 2 2 2]]

numpy 包中的使用 arange 函数创建数值范围并返回 ndarray 对象,函数格式如下:

numpy.arange(start, stop, step, dtype)
start起始值,默认为0
stop终止值(不包含)
step步长,默认为1
dtype返回ndarray的数据类型,如果没有提供,则会使用输入数据的类型。
import numpy as np
#创建一维等差数组
x = np.arange(5)
print (x)   #结果:[0 1 2 3 4]
x = np.arange(10,20,2,dtype = float)
print (x)   #结果:[10. 12. 14. 16. 18.]
#创建二维等差数组
x = np.arange(6).reshape(2, 3)
print (x)
'''
结果:
[[0 1 2]
 [3 4 5]]
'''

创建单位矩阵:

import numpy as np
print(np.eye(3))

结果:

[[1. 0. 0.]
 [0. 1. 0.]
 [0. 0. 1.]]

numpy.random创建随机数组

#创建二维随机数组
import numpy as np
print(np.random.rand(2, 3))
#创建二维随机整数数组(数值小于 5)
print(np.random.randint(5, size = (2, 3)))

结果:

[[0.07372864 0.74103528 0.67281635]
 [0.11108997 0.66061282 0.38864188]]
[[4 2 3]
 [0 4 3]]

numpy.asarray从已有的数组创建数组

numpy.asarray(a, dtype = None, order = None)
a任意形式的输入参数,可以是,列表, 列表的元组, 元组, 元组的元组, 元组的列表,多维数组
dtype数据类型,可选
order可选,有"C"和"F"两个选项,分别代表,行优先和列优先,在计算机内存中的存储元素的顺序。
import numpy as np
#将列表转换为 ndarray
x =  [1,2,3]
a = np.asarray(x)
print (a)  #结果:[1  2  3]
#将元组转换为 ndarray
x =  (1,2,3)
a = np.asarray(x)
print (a) #结果:[1  2  3]
#将元组列表转换为 ndarray
x =  [(1,2,3),(4,5)]
a = np.asarray(x)
print (a) #结果:[(1, 2, 3) (4, 5)]

数组操作

数组运算

——未完待续

参考:https://www.numpy.org.cn/user/basics/io.html

https://www.runoob.com/numpy/numpy-tutorial.html

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值