版权声明:个人博客网站:https://cunyu1943.github.io/, 欢迎访问留言交流,转载请注明出处! https://blog.csdn.net/github_39655029/article/details/84987249
矩阵
import numpy as np
"""
矩阵
"""
a = np.array([[1,2,4],
[4, 5, 6],
[8, 9, 10]])
print('matrix:\n', np.mat(a))
print(np.mat('1,2,4;5,6,9'))
print(np.mat(a).I)
a = np.array([[4, 8],
[5, 19]])
b = np.array([[11, 89],
[49, 29]])
print(np.bmat('a, b;b, a'))
函数
import numpy as np
import matplotlib.pyplot as plt
"""
一般函数
"""
print('正无穷:', np.inf)
print('负无穷:', -np.inf)
print('非法值:', np.nan)
"""
向量化函数
"""
x = np.array([3, 54, 89])
def sinc(x):
if x == 0.0:
return 1.0
else:
y = np.pi * x
return np.sin(y) / y
sinc1 = np.vectorize(sinc)
print('向量化:', sinc1(x))
x = np.linspace(-10, 10, 50)
plt.plot(x, sinc1(x))
plt.show()
二元运算
四则运算对应函数
运算符 |
对应函数 |
a + b |
add(a, b) |
a - b |
subtract(a, b) |
a * b |
multiply(a, b) |
a / b |
divide(a, b) |
a ** b |
power(a, b) |
a % b |
remainder(a,b) |
比较与逻辑运算
运算符 |
对应函数 |
== |
equal |
!= |
not_equal |
> |
greater |
>= |
greater_equal |
< |
less |
<= |
less_equal |
& |
bitwise_and |
/ |
bitwise_or |
^ |
bitwise_xor |
~ |
invert |
>> |
right_shift |
<< |
left_shift |
ufunc对象
import numpy as np
"""
ufunc对象
"""
a = np.array([3, 4, 5, 6, 9])
print(np.add.reduce(a))
print(np.logical_or.reduce(a))
print(np.add.accumulate(a))
print(np.logical_or.accumulate(a))
indices = np.array([0,3])
print(np.add.reduceat(a, indices))
b = np.array([2, 3, 4])
print(np.add.outer(a, b))
print(np.logical_or.outer(a, b))
数组读写
import numpy as np
"""
数组读写
"""
data = []
with open('file.txt', 'r') as file:
for line in file:
fileds = line.split()
row_data = [float(x) for x in fileds]
data.append(row_data)
data = np.array(data)
print('空格分隔:', data)
data = np.loadtxt('file1.txt', delimiter=',')
print('逗号分隔:', data)
np.savetxt('out.txt', data)
with open('out.txt') as f:
for line in f:
print(line)
"""
Numpy二进制格式
保存的方法:
1、save(file, arr) 保存单个数组,.npy 格式
2、savez(file, *args, **kwds) 保存多个数组,无压缩的 .npz 格式
3、savez_compressed(file, *args, **kwds) 保存多个数组,有压缩的 .npz 格式
读取的方法:
load(file, mmap_mode=None) 对于 .npy,返回保存的数组,对于 .npz,返回一个{名称-数组}对组成的字典
"""
a = np.array([[1,2,4],[9,3,0]])
np.save('file2.txt', a)
b = np.array(100)
np.savez('data.npz', a, b)