numpy模块使用方法

numpy优势

​ 1.是高性能科学运算和数据分析的基础包
​ 2.也是其他数据分析模块的基础
​ 3.提供了更加方便快捷的数学计算方法
​ 4.支持向量运算,使得数据处理更加的简单

模块导入

import numpy as np		# 官方推荐的起别名

数组

一维
np.array([1,2,3])

二维
np.array([[1,2,3],[4,5,6]])

三维
np.array([[[1,2,3],[4,5,6],[7,8,9]]])

常用属性

l = np.array([[1,2,3],[4,5,6]])

T		# 转置(针对二维和三维。原本是2行每行4个元素,转之后4行每行两个元素)
l.T		# 该方法并没有改变原有数组,只是产生了一个新的数组
    
dtype		# 查看ndarray里面的数据类型(ndarray里面的元素必须是相同类型)
l.dtype

size		# 查看ndarray里面的元素个数
l.size
    
ndim		# 查看维数(返回的是数字1、2、3)
l.ndim

数据类型

'''numpy中为了跟python中的数据类型关键字做区分 会用下划线来做'''
python中				numpy中
int					int_
float					float_
bool					bool_

类型转换

astype
l = np.array([[1,2,3],[4,5,6]])
l.astype('float')

内置方法

array  			# 生成数组
np.array([1,2,3], ndmin=3)

arange  		# 类似于python中的range
np.arange(1,4)
np.arange(1.0,1.4)

linspace        # 产生间隔数
np.linspace(1,10,num=20,retstep=True,endpoint=False)  
# retstep展示间隔数 endpoint是否包含最后一个数

zeros			# 用0生成一个数组
np.zeros(10,dtype=int)  # 默认都是float
np.zeros((3,5),dtype=int)

ones			# 用1生成一个数组
np.ones(10,dtype=int)  # 用法跟zeros一致
np.ones((3,5),dtype=int)

empty			# 随机值的空数组
np.empty(10)	# 这个方法只申请内存,不给它赋值

eye				# 产生矩阵
np.eye(10,dtype=int)

标量运算

统一的规律都是
	数组内的每一个元素都跟该标量(数字)做运算
 
数组与数组之间做运算
	两个数组的大小得一致
    运算的时候按照对应的位置计算

索引

行索引
列索引
	都是从0开始的
l = np.array([[1,2,3],[4,5,6]])
l[1,3]  	# 逗号左边是行索引 右边是列索引
l[1][3]	# 两者等价但是习惯用第一种

布尔值索引与花式索引

布尔型索引:将同样大小的布尔数组传进索引,会返回一个有True对应位置的元素的数组
l = np.array([1,2,3,4,5,6])
l[l<4]

花式索引:当需要取的元素没有规律不连续的情况下可以使用花式索引
l = np.array([1,2,3,4,5,6])
l[[1,2,5]]

切片

l = np.array([[1,2,3,4],[5,6,7,8],[9,11,22,33]])
res3[1:3,1:3]	# 先切行 再切列

通用函数

abs,fabs  	整数和浮点数的绝对值
add		加
sub		减
mul		乘
div		除
power		次方
sqrt		根号
square		平方
exp		e的次方
log		自然对数
sign		正负号
ceil		向上取整
floor		向下取整
rint		四舍五入
modf		切割小数 分成整数部分和小数部分
isnan		判断是否缺失

数学统计方法

cumsum		累计求和	
mean		平均数
std		标准差
var		方差
max		最大值
min		最小值
argmin		求最小元素对应的索引
argmax		求最大元素对应的索引

随机数

np.random.rand(2,5)  # 随机0-1之间的小数

np.random.randint(1,10)  # 取给定的数之间的随机整数

np.random.choice([111,222,333,444,555])  # 从给定的数组中随机的取一个

res = [1,2,3,4,5,6,7,8,9,10,'J','Q','K','A'] 
np.random.shuffle(res)  # 随机打乱顺序

np.random.uniform([100,10,11,22])  # 指定数组位置产生对应的随机数

特殊值含义

1、nan(Not a Number):不等于任何浮点数(nan != nan)
    	表示的意思是缺失值(pandas里面)

2、inf(infinity):比任何浮点数都大

补充

1.自动提示	
	按tab键
   
2.自动查看方法的使用方式
	在方法名后面加?运行即可
   
3.代码的注释
	ctrl + ?
posted @ 2020-09-02 17:18  最冷不过冬夜  阅读(181)  评论(0编辑  收藏  举报