Python 数组操作技巧总结[持续更新]

开始接触数组进行编程的时候,很多数组操作用内置的函数就可以完成。但是工作中慢慢发现数组的操作很多,并不只是加减和转置就可以很好解决的。

因此开了这个博客,记录用到的一些命令。根据工作使用慢慢更新,也希望能帮助到一些朋友。一个数组的操作

1)将一个数插入一个数组中的任意位置。


nums_one = 999
out_tmp = [ data[:i]+[nums_one]+data[i:] for i in range(len(data)+1)]


python基本特性

lambda, map, reduce, filter 函数

格式化输出,老的方法“%*” ,新的方法 "{}".format()。见这里


数组的encode

快速将一维数组转化为二维

labels = [1, 3, 8]
labels = np.array(labels)[:, None]
[[1],
 [3],
 [8],]





  
  
然后可以快速将该数组进行encode,即将对应的坐标位置标为1,其余位置为0。这个在机器学习对指标的操作中很常见。当然你也可以利用现有的sklearn 这类包完成。
enlabels = np.arange(8) == np.array(labels)[:, None]
# 改成float 型



     
     
enlabels = enlabels.astype(np.float32)

两个数组之间的操作

(1)一个二维数组与一维数组的运算。

有时候希望对二维数组中,没一行,或者每一列加减一个一维数组。这时候一维数组的长度与二维数组列/行相等。可以进行如下命令

# 创建二维数组
a = [[1,2,3,4,5]]*5
# 创建以为数组
b = np.arange(1,6,1)
# 2D 数组每一行减去1D数组
print a-b[None,:]
# 2D 数组每一列减去1D数组
print a-b[:,None]


(2)  查看一个数组中是否有包含在另外一个数组的元素。

# numpy的程序立刻搞定。返回布尔数组,长度与A相同,被元素B包含的元素的位置为True
np.in1d(A, B)



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值