import numpy as np
a = np.random.random((3,4))
a
array([[0.00097881, 0.11324792, 0.78365009, 0.39502093],
[0.01605974, 0.52657326, 0.82535021, 0.39551375],
[0.97713031, 0.45004703, 0.61007741, 0.75425759]])
b = np.random.randn(2,5)
b
array([[ 0.15091007, -0.39143206, -1.03333289, -1.16875257, 1.70066908],
[-0.65763125, 0.06532776, 1.15839962, -0.42828668, -1.35983853]])
np.save('./a',a)
np.savez('./ab.npz',a,b)
(1) 读取.npy文件
np.load('./a.npy')
array([[0.00097881, 0.11324792, 0.78365009, 0.39502093],
[0.01605974, 0.52657326, 0.82535021, 0.39551375],
[0.97713031, 0.45004703, 0.61007741, 0.75425759]])
(2) 读取.npz文件
d = np.load('./ab.npz')
d
<numpy.lib.npyio.NpzFile at 0x17a56f9b0c8>
(3) 查看读取文件内容
d.files
['arr_0', 'arr_1']
d['arr_0']
array([[0.00097881, 0.11324792, 0.78365009, 0.39502093],
[0.01605974, 0.52657326, 0.82535021, 0.39551375],
[0.97713031, 0.45004703, 0.61007741, 0.75425759]])
d['arr_1']
array([[ 0.15091007, -0.39143206, -1.03333289, -1.16875257, 1.70066908],
[-0.65763125, 0.06532776, 1.15839962, -0.42828668, -1.35983853]])
print (a)
print (b)
[[0.00097881 0.11324792 0.78365009 0.39502093]
[0.01605974 0.52657326 0.82535021 0.39551375]
[0.97713031 0.45004703 0.61007741 0.75425759]]
[[ 0.15091007 -0.39143206 -1.03333289 -1.16875257 1.70066908]
[-0.65763125 0.06532776 1.15839962 -0.42828668 -1.35983853]]
np.savetxt('./a.txt',a)
np.savetxt()
np.loadtxt("./a.txt")
array([[0.00097881, 0.11324792, 0.78365009, 0.39502093],
[0.01605974, 0.52657326, 0.82535021, 0.39551375],
[0.97713031, 0.45004703, 0.61007741, 0.75425759]])
np.genfromtxt('./a.txt')
array([[0.00097881, 0.11324792, 0.78365009, 0.39502093],
[0.01605974, 0.52657326, 0.82535021, 0.39551375],
[0.97713031, 0.45004703, 0.61007741, 0.75425759]])
a = np.random.randint(1,51,size=(3,5))
a
array([[38, 22, 28, 37, 3],
[15, 42, 10, 27, 43],
[20, 18, 31, 12, 26]])
(1) 沿横轴排序
a.sort(axis=1) #axis默认为1,横向
a
array([[ 3, 22, 28, 37, 38],
[10, 15, 27, 42, 43],
[12, 18, 20, 26, 31]])
(2) 沿纵轴排序
a.sort(axis=0) #axis=0,表示横向
a
array([[ 3, 15, 20, 26, 31],
[10, 18, 27, 37, 38],
[12, 22, 28, 42, 43]])
(3) 对一维数组排序
a = np.array([6,4,5,7,2])
a.sort()
a
array([2, 4, 5, 6, 7])
(1) 使用argsort函数排序
a = np.array([12,5,18])
a.argsort()#按照值得大小返回数值
array([1, 0, 2], dtype=int64)
(2) 使用lexsort函数排序
a = np.array([1,5,18])
b = np.array([10,15,13])
c = np.array([12,6,28])
np.lexsort((a,c,b))#c是最后传入的
array([0, 2, 1], dtype=int64)
a = np.array([12,5,18])
(1) np.repeat()重复数据
np.repeat(a,2)
array([12, 12, 5, 5, 18, 18])
(2) np.tile()重复数据
np.tile(a,2)
array([12, 5, 18, 12, 5, 18])
a = np.array([12,5,18])
b = np.tile(a,2)
print ("重复的数据:",b)
c = np.unique(b)
print ("去重后的数据:",c)
c
重复的数据: [12 5 18 12 5 18]
去重后的数据: [ 5 12 18]
array([ 5, 12, 18])
(1) 读取数据
data = np.loadtxt('./iris_sepal_length.csv')
data
array([5.1, 4.9, 4.7, 4.6, 5. , 5.4, 4.6, 5. , 4.4, 4.9, 5.4, 4.8, 4.8,
4.3, 5.8, 5.7, 5.4, 5.1, 5.7, 5.1, 5.4, 5.1, 4.6, 5.1, 4.8, 5. ,
5. , 5.2, 5.2, 4.7, 4.8, 5.4, 5.2, 5.5, 4.9, 5. , 5.5, 4.9, 4.4,
5.1, 5. , 4.5, 4.4, 5. , 5.1, 4.8, 5.1, 4.6, 5.3, 5. , 7. , 6.4,
6.9, 5.5, 6.5, 5.7, 6.3, 4.9, 6.6, 5.2, 5. , 5.9, 6. , 6.1, 5.6,
6.7, 5.6, 5.8, 6.2, 5.6, 5.9, 6.1, 6.3, 6.1, 6.4, 6.6, 6.8, 6.7,
6. , 5.7, 5.5, 5.5, 5.8, 6. , 5.4, 6. , 6.7, 6.3, 5.6, 5.5, 5.5,
6.1, 5.8, 5. , 5.6, 5.7, 5.7, 6.2, 5.1, 5.7, 6.3, 5.8, 7.1, 6.3,
6.5, 7.6, 4.9, 7.3, 6.7, 7.2, 6.5, 6.4, 6.8, 5.7, 5.8, 6.4, 6.5,
7.7, 7.7, 6. , 6.9, 5.6, 7.7, 6.3, 6.7, 7.2, 6.2, 6.1, 6.4, 7.2,
7.4, 7.9, 6.4, 6.3, 6.1, 7.7, 6.3, 6.4, 6. , 6.9, 6.7, 6.9, 5.8,
6.8, 6.7, 6.7, 6.3, 6.5, 6.2, 5.9])
(2) 排序
data.sort()
data
array([4.3, 4.4, 4.4, 4.4, 4.5, 4.6, 4.6, 4.6, 4.6, 4.7, 4.7, 4.8, 4.8,
4.8, 4.8, 4.8, 4.9, 4.9, 4.9, 4.9, 4.9, 4.9, 5. , 5. , 5. , 5. ,
5. , 5. , 5. , 5. , 5. , 5. , 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,
5.1, 5.1, 5.2, 5.2, 5.2, 5.2, 5.3, 5.4, 5.4, 5.4, 5.4, 5.4, 5.4,
5.5, 5.5, 5.5, 5.5, 5.5, 5.5, 5.5, 5.6, 5.6, 5.6, 5.6, 5.6, 5.6,
5.7, 5.7, 5.7, 5.7, 5.7, 5.7, 5.7, 5.7, 5.8, 5.8, 5.8, 5.8, 5.8,
5.8, 5.8, 5.9, 5.9, 5.9, 6. , 6. , 6. , 6. , 6. , 6. , 6.1, 6.1,
6.1, 6.1, 6.1, 6.1, 6.2, 6.2, 6.2, 6.2, 6.3, 6.3, 6.3, 6.3, 6.3,
6.3, 6.3, 6.3, 6.3, 6.4, 6.4, 6.4, 6.4, 6.4, 6.4, 6.4, 6.5, 6.5,
6.5, 6.5, 6.5, 6.6, 6.6, 6.7, 6.7, 6.7, 6.7, 6.7, 6.7, 6.7, 6.7,
6.8, 6.8, 6.8, 6.9, 6.9, 6.9, 6.9, 7. , 7.1, 7.2, 7.2, 7.2, 7.3,
7.4, 7.6, 7.7, 7.7, 7.7, 7.7, 7.9])
(3) 数据去重
data = np.unique(data)
data
array([4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 5. , 5.1, 5.2, 5.3, 5.4, 5.5,
5.6, 5.7, 5.8, 5.9, 6. , 6.1, 6.2, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8,
6.9, 7. , 7.1, 7.2, 7.3, 7.4, 7.6, 7.7, 7.9])
(4) 查看个数
data.shape
(35,)
(1) 求和
np.sum(data)
210.39999999999998
(2) 累计和
np.cumsum(data)
array([ 4.3, 8.7, 13.2, 17.8, 22.5, 27.3, 32.2, 37.2, 42.3,
47.5, 52.8, 58.2, 63.7, 69.3, 75. , 80.8, 86.7, 92.7,
98.8, 105. , 111.3, 117.7, 124.2, 130.8, 137.5, 144.3, 151.2,
158.2, 165.3, 172.5, 179.8, 187.2, 194.8, 202.5, 210.4])
(3) 均值、标准差、方差、最小值、最大值
print ("均值:",np.mean(data))
print ("标准差:",np.std(data))
print ("方差:",np.var(data))
print ("最小值:",np.min(data))
print ("最大值:",np.max(data))
均值: 6.011428571428571
标准差: 1.0289443768310533
方差: 1.0587265306122449
最小值: 4.3
最大值: 7.9