numpy拾遗
转换数据类型
- 直接转换
np.float_()
np.int_()
np.float32()
-
使用astype进行转换
a.astype(int) a.astype(float)
查询数据类型
>>> d = np.dtype(int) >>> d dtype('int32') >>> np.issubdtype(d, int) True >>> np.issubdtype(d, float) False
采用上述方式,
issubdatype()
属性几种特殊的数据创建
#创建指定形状的全为1的数组 np.ones(shape) #shape可以是一个元组或者列表,甚至是np.array #创建指定形状的全为0的数组 np.zeros(shape) # 创建递增数组 np.arrange() #同range()函数 np.linspace() # 同linspace()函数 # 创建指定形状对角线为1的对角阵 np.eye(shape)
numpy i/o操作
np.genfromtxt(data,delimiter) # 第二个指定分割符号 np.loadtxt(FILENAME, dtype=int, delimiter=' ') np.savetxt(FILENAME, a, fmt="%d", delimiter=",")
delimiter
参数一旦文件被定义并打开进行读取,
genfromtxt
会将每个非空行分割为一串字符串。 空的或注释的行只是略过。delimiter
关键字用于定义拆分应该如何进行。通常,单个字符标记列之间的分隔。例如,逗号分隔文件(CSV)使用逗号(
,
)或分号(;
)作为分隔符:
usecols
参数
在某些情况下,我们对数据的所有列不感兴趣,但只有其中的一小部分。我们可以用usecols
参数选择要导入的列。该参数接受与要导入的列的索引相对应的单个整数或整数序列。请记住,按照惯例,第一列的索引为0。负整数的行为与常规Python负向索引相同。
矩阵操作
- A@B等价于A.dot(B),矩阵乘法
A.ravel()
将矩阵拉伸为一个一维数组A.hstack(B)
将B按列合并至A,A.r_(B)
类似A.vstack(B)
将B按行合并至A,A.c_(B)
类似
A.hsplit(shape)
沿着水平轴分割数组A.vsplit(shape)
沿着垂直轴分割数组
拷贝
浅拷贝
view
方法创建一个查看相同数据的新数组对象
切片数组会返回一个视图
视图不能对原数组进行操作
深拷贝
copy
方法生成数组及其数据的完整副本。
线性代数操作
np.linalg.inv(a)#求逆
np.linalg.trace(a)#求迹
np.linalg.eig(a)#求特征值及其对应的特征矩阵
np.inner()#函数返回一维数组的向量内积。对于更高的维度,它返回最后一个轴上的和的乘积。
np.linalg.det() #函数计算输入矩阵的行列式
np.linalg.solve(a,b) #函数给出了矩阵ax=b的线性方程的解。
numpy.vdot() #函数是两个向量的点积
numpy.matmul() #函数返回两个数组的矩阵乘积
#A@B等价于A.dot(B),矩阵乘法
数学函数
- numpy.floor() 返回数字的下舍整数。
-
numpy.ceil() 返回数字的上入整数。
-
numpy.around() 函数返回指定数字的四舍五入值。
numpy.around(a,decimals)
参数说明:
a: 数组
decimals: 舍入的小数位数。 默认值为0。 如果为负,整数将四舍五入到小数点左侧的位置
字符串操作
np.char
函数 | 描述 |
---|---|
add() | 对两个数组的逐个字符串元素进行连接 |
multiply() | 返回按元素多重连接后的字符串 |
center() | 居中字符串 |
capitalize() | 将字符串第一个字母转换为大写 |
title() | 将字符串的每个单词的第一个字母转换为大写 |
lower() | 数组元素转换为小写 |
upper() | 数组元素转换为大写 |
split() | 指定分隔符对字符串进行分割,并返回数组列表 |
splitlines() | 返回元素中的行列表,以换行符分割 |
strip() | 移除元素开头或者结尾处的特定字符 |
join() | 通过指定分隔符来连接数组中的元素 |
replace() | 使用新字符串替换字符串中的所有子字符串 |
decode() | 数组元素依次调用str.decode |
定字符 | |
join() | 通过指定分隔符来连接数组中的元素 |
replace() | 使用新字符串替换字符串中的所有子字符串 |
decode() | 数组元素依次调用str.decode |
encode() | 数组元素依次调用str.encode |