码迷,mamicode.com
首页 > 其他好文 > 详细

Numpy常用方法和使用技巧

时间:2018-02-03 23:13:45      阅读:341      评论:0      收藏:0      [点我收藏+]

标签:copy   生成   class   乘法   列表   转换   bsp   type   div   

1. np.array 可将序列对象转换为数组,可以生成多维数组,但是要对齐,List可包含多个子列表,
a = [[1,2,3],[4,5,6]]
b = np.array(a)

2.低精度和高精度一起,会转换为高精度的
a = np.array((1,2.0,3,4,5,6))
b = a.reshape(2,3)
print(a.shape, a.dtype)

3. np.arange(n) 生成一维从0到n-1的数组,可以设定范围和步长,如np.arange(1,10,2)
Python 内置的range生成从0到n-1的列表,一般只用于for循环中
a = np.arange(15)
for i in range(15):
  print(i)

4. np.ones .zeros .empty 里面需要传入一个元组,来指定创建什么形状,同时可以指定数据类型dtype
a = np.ones((2,2))
b = np.zeros(10)

5. np.astype 实现数据类型转换,string类型的数字也可以转换
a = np.array((1,2,3,4))
print(a.dtype)
b = a.astype(np.float64)
print(b.dtype)

6. 大小相等的数组之间的任何运算都会元素级的,特别注意数组之间的乘法是元素级的,要实现矩阵乘法,需要用np.dot

7. 数组的切片是原始数组的视图,数据在赋值时不会复制,想要复制数据,需要在切片后加.copy()

8. 数组切片用方括号,索引有几种形式,如[1,2], [:,3],[:2,3:] 注意索引的结尾数要减1,开头不需要。还有花式索引,a[[1,2,3]] 取对应的行,a[:,[1,2,3]]去对应的列,花式索引会复制数据, 注意a[[1,2,3],[1,2,3]] 取的是3个对应位置的数字

a = np.arange(30).reshape(6,5)
b = a[:2,3:]
c = a[[1,5,2]]
d = a[:,[3,4,1]]

 

Numpy常用方法和使用技巧

标签:copy   生成   class   乘法   列表   转换   bsp   type   div   

原文地址:https://www.cnblogs.com/PowerTransfer/p/8410916.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!