python--->关于Numpy的应用
- 读取文件
- 实现转置的三种方式
- numpy值的修改
- 数组的拼接
读取文件
# 分隔符为 ‘,’,第一行不读,数据类型为int
t1 = np.loadtxt('resource/data',delimiter=',',skiprows=1,dtype='int')
#下面是转置
t2 = np.loadtxt('resource/data',delimiter=',',skiprows=1,dtype='int',unpack=True)
实现转置的三种方式
[[ 0 1 2 3 4 5]
[ 6 7 8 9 10 11]
[12 13 14 15 16 17]
[18 19 20 21 22 23]]
t1 = t.T
[[ 0 6 12 18]
[ 1 7 13 19]
[ 2 8 14 20]
[ 3 9 15 21]
[ 4 10 16 22]
[ 5 11 17 23]]
[[ 0 6 12 18]
[ 1 7 13 19]
[ 2 8 14 20]
[ 3 9 15 21]
[ 4 10 16 22]
[ 5 11 17 23]]
[[ 0 6 12 18]
[ 1 7 13 19]
[ 2 8 14 20]
[ 3 9 15 21]
[ 4 10 16 22]
[ 5 11 17 23]]
numpy索引和切片
[[ 0 1 2 3 4 5]
[ 6 7 8 9 10 11]
[12 13 14 15 16 17]
[18 19 20 21 22 23]]
[ 6 7 8 9 10 11]
[[12 13 14 15 16 17]
[18 19 20 21 22 23]]
[[ 0 1 2 3 4 5]
[12 13 14 15 16 17]]
[ 6 7 8 9 10 11]
[[12 13 14 15 16 17]
[18 19 20 21 22 23]]
[[ 0 1 2 3 4 5]
[12 13 14 15 16 17]]
[ 1 7 13 19]
[[ 2 3 4 5]
[ 8 9 10 11]
[14 15 16 17]
[20 21 22 23]]
[[ 1 3]
[ 7 9]
[13 15]
[19 21]]
[[ 6 7 8 9]
[12 13 14 15]
[18 19 20 21]]
[13 21]
numpy值的修改
print('将小于10的值替换成3')
print(t < 10)
t[t<10]=3
print(t)
[[ 3 3 3 3 3 3]
[ 3 3 3 3 10 11]
[12 13 14 15 16 17]
[18 19 20 21 22 23]]
print('将小于10的替换成100,大于10的替换成300')
t1 = np.where(t<=10,100,300)
print(t1)
[[100 100 100 100 100 100]
[100 100 100 100 100 300]
[300 300 300 300 300 300]
[300 300 300 300 300 300]]
print('将小于10的替换成10,大于18的替换成18')
t2 = t.clip(10,18)
print(t2)
[[10 10 10 10 10 10]
[10 10 10 10 10 11]
[12 13 14 15 16 17]
[18 18 18 18 18 18]]
数组的拼接
t
[[ 0 1 2 3 4 5]
[ 6 7 8 9 10 11]
[12 13 14 15 16 17]
[18 19 20 21 22 23]]
t2
[[24 25 26 27 28 29]
[30 31 32 33 34 35]
[36 37 38 39 40 41]
[42 43 44 45 46 47]]
print('竖直拼接')
t3 = np.vstack((t,t2))
print('t、t2竖直拼接之后的结果\n',t3)
[[ 0 1 2 3 4 5]
[ 6 7 8 9 10 11]
[12 13 14 15 16 17]
[18 19 20 21 22 23]
[24 25 26 27 28 29]
[30 31 32 33 34 35]
[36 37 38 39 40 41]
[42 43 44 45 46 47]]
t4 = np.vsplit(t3,2)[1]
print('竖直分割\n',t4)
[[24 25 26 27 28 29]
[30 31 32 33 34 35]
[36 37 38 39 40 41]
[42 43 44 45 46 47]]
print('水平拼接')
t3 = np.hstack((t,t2))
print('t、t2水平拼接之后的结果\n',t3)
[[ 0 1 2 3 4 5 24 25 26 27 28 29]
[ 6 7 8 9 10 11 30 31 32 33 34 35]
[12 13 14 15 16 17 36 37 38 39 40 41]
[18 19 20 21 22 23 42 43 44 45 46 47]]
t4 = np.hsplit(t3,2)[0]
print('水平分割\n',t4)
[[ 0 1 2 3 4 5]
[ 6 7 8 9 10 11]
[12 13 14 15 16 17]
[18 19 20 21 22 23]]