比较运算

- 重新生成8只股票10个交易日的涨跌幅数据:
- stock_change = np.random.normal(loc=0, scale=1, size=(8, 10))


逻辑判断:如果涨跌幅大于0.5就标记为True,否则就标记为False。

取出为True的具体数据:

将为True的数据修改为1.1:
- 也就是将满足条件的设置为指定的值。

通用判断函数:
np.all()

np.any()

总结:
通用判断函数:
- np.all(布尔值)
- 只要有一个False就返回False,只有全是True才返回True
- np.any()
- 只要有一个True就返回True,只有全是False才返回False
判断前2只股票前5天是否全是上涨的:

判断前2只股票这段期间是否有上涨的:

- 或是

- 或是



- 或是:

- 或是:

np.where(三元运算符)

- np.where(三元运算符)
- np.where(布尔值, True的位置的值, False的位置的值)

- np.where(布尔值, True的位置的值, False的位置的值)
- 判断前4只股票前4天的涨跌幅,大于0的置为1,否则为0:


- 下面这样可以帮助更好的理解:

- 判断前4只股票前4天的涨跌幅,大于0.5并且小于1的,替换为1, 否则替换为0:



提示:复合逻辑需要结合np.logical_and 和 np.logical_or使用。


- 合起来写就是:

- 判断前4个股票前4天的涨跌幅,大于0.5或者小于-0.5的,替换为1,否则替换为0:

统计运算:
如果想要知道涨幅或者跌幅最大的数据,应该怎么做?
统计指标:
- 在数据挖掘/机器学习领域,统计指标的值也是我们分析问题的一种方式。
常用的指标如下:
- min()最小值,
- max()最大值,
- median中值,
- std标准差,
- var方差,
- 都可以使用axis指定按行求还是按列求。

- 提示:上面这些方法都有两种使用形式:一种是:变量名.方法名()。一种是np.方法名()。
股票涨跌幅统计运算:
- 运行统计的时候,axis轴的取值并不一定,Numpy中不同的API轴的值都不一样,在这里,axis 0 代表列,
axis 1 代表行去进行统计。

- 上面就是演示了求最大值这个方法的两种使用形式,其他的统计指标也是这两种使用形式。

axis=0表示按列求最大值,axis=1表示按行求最大值。
- 还有一种说法是下面这种说法,也可以下面这样理解:

- 现在temp的形状是(4,4)也就是4行4列:

- 我们的要求是:

- 这个维度上的最大值,这个维度是第二个维度,第二个维度的下标是1,由于第二个维度是最后一个维度,所以也可以表示成-1,-1表示的是最后一个维度。
- numpy中不同的API轴的值都不一样,大家记不住也是没有关系的,到时候试一试就知道了。也就是在有的api中1表示按行,有的api中1表示按列,这是这些api底层的规划,也就是这些开发团队们他们这样规定的。
其他的统计指标大家可以自行尝试一下:

返回最大值和最小值所在位置也就是索引值:



本文介绍如何使用Python的NumPy库进行股票数据的涨跌幅分析,包括比较运算、逻辑判断、统计运算等操作,以及如何应用通用判断函数np.all()和np.any(),并展示了如何统计最大值、最小值、中值、标准差和方差。
788

被折叠的 条评论
为什么被折叠?



