Python 数组操作技巧总结[持续更新]
2016-10-17 10:50
323 查看
开始接触数组进行编程的时候,很多数组操作用内置的函数就可以完成。但是工作中慢慢发现数组的操作很多,并不只是加减和转置就可以很好解决的。
因此开了这个博客,记录用到的一些命令。根据工作使用慢慢更新,也希望能帮助到一些朋友。一个数组的操作
1)将一个数插入一个数组中的任意位置。
python基本特性
lambda, map, reduce, filter 函数
格式化输出,老的方法“%*” ,新的方法 "{}".format()。见这里。
数组的encode
快速将一维数组转化为二维
然后可以快速将该数组进行encode,即将对应的坐标位置标为1,其余位置为0。这个在机器学习对指标的操作中很常见。当然你也可以利用现有的sklearn 这类包完成。
两个数组之间的操作
(1)一个二维数组与一维数组的运算。
有时候希望对二维数组中,没一行,或者每一列加减一个一维数组。这时候一维数组的长度与二维数组列/行相等。可以进行如下命令
(2) 查看一个数组中是否有包含在另外一个数组的元素。
因此开了这个博客,记录用到的一些命令。根据工作使用慢慢更新,也希望能帮助到一些朋友。一个数组的操作
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)
相关文章推荐
- python技巧总结--持续更新
- 项目开发总结:前端开发部分总结[兼容性、DOM操作、跨域等](持续更新)
- Css之【字体系列】综合技巧总结(持续更新中...)
- fukan之编程小经验技巧学习与总结(持续更新~)
- jsf几个常用取值方法和技巧总结(持续更新)
- Android 调试技巧全面总结(持续更新)
- 前端开发部分总结[兼容性、DOM操作、跨域等](持续更新)
- 前端JS使用的技巧总结【持续更新】
- ios学习--iphone开发笔记和技巧总结(原址持续更新)
- delphi的一些常用操作技巧,持续更新中。。。
- python2《=》python3 某些库函数互相转换的个人总结 =>持续更新
- ios学习--iphone开发笔记和技巧总结(原址持续更新)
- 3dsmax操作技巧(持续更新中)
- 平时常用的Visual Studio操作技巧,持续更新中……
- 项目开发总结:前端开发部分总结[兼容性、DOM操作、跨域等](持续更新)
- python编码问题总结(持续更新)
- Python Split函数的用法总结(持续更新中。。。)
- python 字典 一些总结(持续更新)
- 常用sql技巧总结_持续更新
- python操作文件 (持续更新)