感觉学了许多的python的知识,但又感觉什么都没学,这就很迷,属于一学就会,一写就废,对于这样的感觉,我个人第一反应就是基础不扎实,刚好暑假,又喜欢量化投资这一方面,所以想在这个暑假一步步跟着一些书本和网上的知识,结合自己零碎的记忆结合这方面打实一下基础。并将自己学习的笔记放在这里和大家一起学习进步。
一、numpy 介绍
numpy 对于我来说可以说是最熟悉不过得了,因为感觉哪都有他。数据分析 最为显著,所以他也被称为各种操作的基础包
二、使用步骤
1.引入库
代码如下(示例):
import numpy as np
就个人而言,还是喜欢np作为简称,有种踏实感,当然你也可以这样导入
from numpy import *
当然这样写的好处了,就是使用函数的时候不用在在面前加 np. ,依照个人爱好决定吧这个。
2.生成有序的数
代码如下(示例):
import numpy as np
a = np.arange(10)
print(a)
print(type(a))
print(a.shape)
out:
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) numpy.ndarray (10,)
可以看到这里是一个一维数,在numpy中也支持多维数组
代码如下(示例):
m = np.array([np.arange(3),np.arange(3)])
print(m)
print(m.shape)print(a.dtype)
out:
[[0 1 2]
[0 1 2]]
(2, 3)
int32
这里数组的类型是int32,在有的电脑上可能是64,与版本有关
3. 下标和索引
numpy数组的下标和切片也与pyton一样,也是从0开始的,类似于列表的操作,仿佛有一点点容易。
代码如下(示例):
a = np.array([np.arange(5),np.arange(5)])
print(a)
print(a[0,0]) #a[某,某]第某行第某个
print(a[0,1])
print(a[0,2])
print(a[1,3])
out:
[[0 1 2 3 4] [0 1 2 3 4]] 0 1 2 3
看完索引的了,我们再来看看切片效果如何:
a = array(np.arange(10))
print(a)
print(a[:1])
print(a[::1])
print(a[::2])
print(a[::-1])
# 负下标常用来翻转数组
out:
[0 1 2 3 4 5 6 7 8 9] [0] [0 1 2 3 4 5 6 7 8 9] [0 2 4 6 8] [9 8 7 6 5 4 3 2 1 0]
总结
上述了就是对numpy的基础操作一些简单的代码,但numpy的功能还是挺多的,在后面pandas介绍的时候在例举。