天天看点

python--->关于Numpy的应用读取文件实现转置的三种方式numpy值的修改数组的拼接

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]]