数据分析之Numpy学习笔记(一)(入门)
电子书(GitHub)
Numpy数组
一维数组
我懒得用Jypter交互界面了,Windows弄ipython3交互也很烦懒得弄,这里就用pycharm的print凑合看看
1,导包
import numpy as np
2,Numpy数组和普通的list的区别
data = [1,2,3,4,5,6]
arr = np.array(data)
print(data)
print(type(data))
print('*****************')
print(arr)
print(type(arr))
可以看到 ndarray对象 和普通的list 还是有区别的。
如果要把数组转换成list可以这样写
arr.tolist()
也可以这样写,将数组对象强制转换成list
list(arr)
3,range函数
numpy数组中是np.arange()
普通的python就是 range()
二维数组
import numpy as np
data = [1,2,3,4,5,6]
arr = np.arange(4 * 4).reshape((4,4))
print(arr)
arange(4 * 4)实际上就是 arange(16)的意思,生成16个数据,
然后将这16个数据,填入reshape((4,4))生成的一个4X4的二维数组中
三维数组
import numpy as np
data = [1,2,3,4,5,6]
arr = np.arange(2 * 2 * 3).reshape((2,2,3))
print(arr)
生成一个 2 X 2 X 3的三维数组
我是这么理解的
笨办法理解三维数组里的索引值
切片
1,切片
笨办法理解切片
2,切片赋值
因为numpy中,切片赋值会有一个广播机制,即:切片赋值会扩散到整个选区。
如:
arr[:2,1:] = 0
布尔型索引
花式索引
花式索引总是复制到新的数组中
其他
查看numpy数组有几行几列
2.shape --> 0维数组 -->()
[3 3 3].shape -->1维数组 -->(3,)
[[1 1]
[2 2]
[3 3]
] .shape -->2维数组 -->(3,2)
反转操作符
~ 等价于 !=
总结(实用性的几点)
numpy中:
1,切片 切出来的是视图(要取内容,用拷贝)
(赋值给新值也没有用,因为他们指向同一个地址)
2,切片赋值会修改原数据。
3,花式索引总是复制到新的数组中,阔以赋值给一个变量显示。
4,numpy对象.shape可以查看这个数组有几行几列。(显示结果为一个元组)
5.对 数组对象进行 加减乘除 转置 啥的 运算 ,会直接修改原数据。
,
,
,
下一篇:数据分析之Numpy学习笔记(二)(对象、方法、参数)