python--->关于Numpy的应用

读取文件

# 分隔符为	‘,’,第一行不读,数据类型为int
t1 = np.loadtxt('resource/data',delimiter=',',skiprows=1,dtype='int')
#下面是转置
t2 = np.loadtxt('resource/data',delimiter=',',skiprows=1,dtype='int',unpack=True)

实现转置的三种方式

t = np.arange(0,24).reshape(4,6)

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

t2 = t.transpose()

[[ 0 6 12 18]
[ 1 7 13 19]
[ 2 8 14 20]
[ 3 9 15 21]
[ 4 10 16 22]
[ 5 11 17 23]]

t3 = t.swapaxes(1,0)

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

print('第二行\n',t[1])

[ 6 7 8 9 10 11]

print('连续的多行:\n',t[2:])

[[12 13 14 15 16 17]
[18 19 20 21 22 23]]

print('不连续的多行\n',t[[0,2]])

[[ 0 1 2 3 4 5]
[12 13 14 15 16 17]]

print('取的二行\n',t[1,:])

[ 6 7 8 9 10 11]

print('连续的多行:\n',t[2:,:])

[[12 13 14 15 16 17]
[18 19 20 21 22 23]]

print('不连续的多行\n',t[[0,2],:])

[[ 0 1 2 3 4 5]
[12 13 14 15 16 17]]

print('第一列\n',t[:,1])

[ 1 7 13 19]

print('连续的多列\n',t[:,2:])

[[ 2 3 4 5]
[ 8 9 10 11]
[14 15 16 17]
[20 21 22 23]]

print('不连续的多列\n',t[:,[1,3]])

[[ 1 3]
[ 7 9]
[13 15]
[19 21]]

print('第2行到第4行,第1列到第4列\n',t[1:4,0:4])

[[ 6 7 8 9]
[12 13 14 15]
[18 19 20 21]]

print('取俩个不相邻的点\n',t[[2,3],[1,3]])

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值