python一些包的学习

argparse[argument parser]
http://www.cnblogs.com/lovemyspring/p/3214598.html

multiprocessing

import numpy as np
np.random.rand(4,3)
np.random.randint(0,10,(4,3)) [0, 10)

ret_all = np.random.randint(0, 5, (4, 3, 7))
print(ret_all)
print(ret_all[:, :, 2]) #冒号表切片 逗号表维度 4 3
print(ret_all[:, :, 1:2]) #冒号表切片 逗号表维度 4 3 1
print(ret_all[:, :, 2].argmax(axis=-1)) 4
print(tuple(ret_all[i, bb, :] for i, bb in enumerate(ret_all[:, :, 2].argmax(axis=-1))))
print(np.vstack(tuple(ret_all[i, bb, :] for i, bb in enumerate(ret_all[:, :, 2].argmax(axis=-1)))))
np.vstack:一维向量罗列 按
https://blog.csdn.net/yangsong95/article/details/82379396

保存和读取文件
numpy
import numpy as np
#生成数据
x=np.arange(10)
x
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

#数据保存
np.save(‘save_x’,x)

#读取保存的数据
np.load(‘save_x.npy’)
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

json

输出数据形状
numpy
print(array)
print(‘number of dim:’,array.ndim)
print(‘shape:’, array.shape)
print(‘size:’, array.size)
结果
[[1 2 3]
[4 5 6]]
number of dim: 2
shape: (2, 3)
size: 6

x=np.array([[0,12,48],[4,18,14],[7,1,99]])

np.sort(x)
array([[ 0, 12, 48],
[ 4, 14, 18],
[ 1, 7, 99]])

np.sort(x,axis=1)
array([[ 0, 12, 48],
[ 4, 14, 18],
[ 1, 7, 99]])

x.sort()
array([[ 0, 12, 48],
[ 4, 14, 18],
[ 1, 7, 99]])

x = np.array([3, 1, 2])
a=np.argsort(x)
a #升序
#argsort函数返回的是数组值从小到大的索引值,[3, 1, 2]从小到大为[1,2,3],期对应的索引为[1,2,0]
array([1, 2, 0])

np.argsort(-x) #降序
array([0, 2, 1], dtype=int64)

x[a] #以排序后的顺序重构原数组
array([1, 2, 3])

#二维数组
x=np.array([[0,12,48],[4,18,14],[7,1,99]])
a1=np.argsort(x)
a1
array([[0, 1, 2],
[0, 2, 1],
[1, 0, 2]], dtype=int64)
#以排序后的顺序重构原数组,注意与一维数组的形式不一样
np.array([np.take(x[i],x[i].argsort())for i in range(3)])
array([[ 0, 12, 48],
[ 4, 14, 18],
[ 1, 7, 99]])

x[x[:,2].argsort()] #按照第三列对行进行排序
array([[ 4, 18, 14],
[ 0, 12, 48],
[ 7, 1, 99]])

x.T[x.T[:,2].argsort()].T #按照第三行对列进行排序
array([[12, 0, 48],
[18, 4, 14],
[ 1, 7, 99]])

x[:,x[2].argsort()] #还可以这样写
array([[12, 0, 48],
[18, 4, 14],
[ 1, 7, 99]])

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值