不二如是 发表于 2020-2-15 21:48:36

10 - 副本copy/视图view|【实操上证指数】

本帖最后由 不二如是 于 2020-7-4 07:20 编辑

上一讲我们了解了一下深/浅拷贝。

本讲来学习视图。

爬了一份 90 年到 19 年的上证指数(收点鱼币):

上证指数(SSE Composite Index)全称是上海证券交易所股票价格综合指数(简称上证综指、上证综合、沪综指或沪指)。

可以理解为股市的晴雨表。

我们先导入 Numpy 和文件:

import numpy as np
sseData = np.genfromtxt('上证指数.txt')
看一下 sseData 内容:


为什么会这样呢?

看一下 dtype:


显示为 float64,nan 上一讲我们说过是因为有中文。

日期参数变为浮点到没关系。



往往日常操作中,最关心的就是:

日期(0 列),收盘价(4 列),涨跌幅(6 列)
这几个参数实用性比较高。

这次我们通过 usecols 方法来直接获取指定列:


是不是数据一下就干净很多。

科学计数法,可以通过设置 np.set_printoptions(suppress=True) 来取消:


数据一下又干净了对不对。

我们现在只是找到前 10 行,但如果我要看:

2018 年上半年的数据(大于 20171231 且小于 20180701)
怎么办呢?

没错,就是用:

**** Hidden Message *****
写筛选条件:

(sseData1[:,0]>20171231)&(sseData1[:,0]<20180701)
输出:


找到符合条件的布尔值。

将其存储到变量中:


找到我们要的年份数据啦~

最后一列的数据,如果为正说明当天涨了,反之为降。

新的需求:

用一个数组记录最后一列数据,正的标记为 1,负的标记为 -1,0 还是 0 。
那就先把最后一列取出来:


然后实现上面的条件:


哇塞,是不是很轻松就搞定啦?!

既然为了分析,那就可以将上面的数据添加到 targetData 中。

新手最常用的办法就是使用 Numpy 中的 np.c_:


我擦,怎么有两行??

往上看看代码,吖,这里的赋值很像“浅拷贝”,直接修改原数据!


在 Numpy 中这种不叫浅拷贝,而是叫“视图”。

如果你理解了上一讲,就知道只需用“深拷贝”就可以。

咩错,在 Numpy 中叫副本,修改代码:


再重新跑一下添加:


还可以继续分析~

但是所有的基础都是上面这些套路!

下一讲我们来说 Numpy 的合并数组。

源代码:



如果有收获,别忘了评分{:10_281:} :

http://xxx.fishc.com/forum/201709/19/094516hku92k2g4kefz8ms.gif

如果想看更多,请订阅 淘专辑(传送门)(不喜欢更要订阅{:10_297:} )

zltzlt 发表于 2020-2-15 21:50:32

Numpy 太厉害了,我要学习{:10_275:}

TCY 发表于 2020-2-16 20:24:02

Numpy 太厉害了,我要学习{:10_275:}

_2_ 发表于 2020-2-16 20:46:11

Numpy 太厉害了,我要学习{:10_275:}

_2_ 发表于 2020-2-16 20:46:44

不二大讲 Numpy

_2_ 发表于 2020-2-16 20:48:49

以 10 鱼币每股的价格买入 1000 股,再以 20 鱼币每股的价格卖出,净赚 10000 鱼币

不二如是 发表于 2020-2-16 22:29:17

_2_ 发表于 2020-2-16 20:48
以 10 鱼币每股的价格买入 1000 股,再以 20 鱼币每股的价格卖出,净赚 10000 鱼币

成功买入不难,但愿你能成功卖出

_2_ 发表于 2020-2-17 12:31:45

不二如是 发表于 2020-2-16 22:29
成功买入不难,但愿你能成功卖出

可惜我还没有 10000 鱼币{:10_266:}

tjuwlb 发表于 2020-3-7 21:24:43

Numpy 太厉害了,我要学习{:10_275:}

syf040916 发表于 2020-3-11 12:48:34

Numpy 太厉害了,我要学习{:10_275:}

听风夜雨 发表于 2020-4-3 23:31:08

Numpy 太厉害了,我要学习{:10_275:}

zsygsnbfsdm 发表于 2020-7-3 16:32:34

Numpy 太厉害了,我要学习{:10_275:}

_2_ 发表于 2020-7-3 20:27:56

科学技术法应改为科学计数法
@不二如是 快来看看

不二如是 发表于 2020-7-4 07:20:47

_2_ 发表于 2020-7-3 20:27
科学技术法应改为科学计数法
@不二如是 快来看看

已修改{:10_310:}

_2_ 发表于 2020-7-4 12:33:29

不二如是 发表于 2020-7-4 07:20
已修改

{:10_279:}{:10_254:}

卡卡尼西亚 发表于 2020-7-23 16:43:30

Numpy 太厉害了,我要学习{:10_275:}

小羊趴在云朵上 发表于 2021-11-29 15:51:09

又要学新知识啦

Tikooy 发表于 2023-10-9 21:14:19

Numpy 太厉害了,我要学习{:10_275:}

mwy1024 发表于 2023-10-9 21:39:07

Numpy 太厉害了,我要学习{:10_275:}
页: [1]
查看完整版本: 10 - 副本copy/视图view|【实操上证指数】