主页 > imtoken授权管理系统 > python计算某个时期的增量_python数据分析与挖掘(十一)

python计算某个时期的增量_python数据分析与挖掘(十一)

imtoken授权管理系统 2023-01-18 13:44:45

1 逻辑运算

#重新生成8只股票的10天价格数据

>>> stock_change = np.random.normal(0, 1, (8, 10))

>>> stock_change = stock_change[0:5, 0:5]

#逻辑判断,如果变化大于0.5,则标记为True,否则为False

>>> stock_change > 0.5

array([[真,假,假,真,假],

[真,真,假,假,假],

[真比特币涨跌幅怎么计算公式,假,真,假,真],

[假,真,假,假,假],

[假,假,假,真,真]])

#BOOL赋值,将满足条件的值设置为指定值——布尔索引

>>> stock_change[stock_change > 0.5] = 1

array([[ 1. , -0.72404879, -1.33045773, 1. , 0.3869043 ],

[ 1. , 1. , 0.20815446, -1.67860823, 0.06612823],

[ 1. , 0.42753488, 1. , -0.24375089, 1. ],

[-0.971945 , 1. , -0.95444661, -0.2602084 , -0.48736497],

[-0.32183056, -0.92544956, -0.42126604, 1. , 1. ]])

2 一般判断函数np.all()

# 判断 stock_change[0:2, 0:5] 是否全部上涨

>>> np.all(stock_change[0:2, 0:5] > 0)

错误

np.any()

#判断前5只股票在此期间是否上涨

>>> np.any(stock_change[0:5, :] > 0 )

是的

3 np.where(三元运算符)

使用 np.where() 可以执行更复杂的操作

# 确定前四天前四只股票的价格。如果大于0则设置为1,否则设置为0

temp = stock_change[:4, :4]

np.where(temp > 0, 1, 0)

复合逻辑需要配合np.logical_and和np.logical_or使用

#判断前四天大起大落的前四天​​大于0.5小于1,改为1,否则为0

#判断前四天前四只股票的变化是大于0.5还是小于-0.5,改为1,否则为0

np.where(np.logical_and(temp > 0.5, temp < 1), 1, 0)

np.where(np.logical_or(temp > 0.5, temp < -0.5), 1, 0)

4 统计操作

如果想知道增减幅度最大的数据怎么办?

1 统计指标

在数据挖掘/机器学习领域比特币涨跌幅怎么计算公式,统计指标的值也是分析问题的一种方式。常用指标如下:

np.min(a[, axis, out, keepdims])

返回数组的最小值或沿轴的最小值。

np.max(a[, axis, out, keepdims])

返回数组的最大值或沿轴的最大值。

np.median(a[, axis, out, overwrite_input, keepdims])

计算沿指定轴的中位数。

np.mean(a[, axis, dtype, out, keepdims])

计算沿指定轴的算术平均值。

np.std(a[, axis, dtype, out, ddof, keepdims])

计算沿指定轴的标准差。

np.var(a[, axis, dtype, out, ddof, keepdims])

计算沿指定轴的方差。

5 股价波动的统计计算

进行统计时,axis轴的值不一定相同。 Numpy中不同API轴的值是不同的。这里,轴0代表列,轴1代表统计行

#接下来对这4只股票的4天数据进行一些统计操作

#指定要统计的行数

print("前四天前四只股票最大涨幅{}".format(np.max(temp,axis=1)))

# 使用 min、std、mean

print("前四天前四只股票的最大跌幅{}".format(np.min(temp,axis=1)))

print("前四天前四只股票的波动率{}".format(np.std(temp,axis=1)))

print("前四天前四只股票的平均变化{}".format(np.mean(temp,axis=1)))

如果您需要计算在某个交易日哪只股票的涨幅最大或最小? np.argmax(temp, axis=)

np.argmin(温度,轴=)

#获取指定日涨幅最大的股票

print("前四天涨幅最大的前四只股票{}".format(np.argmax(temp,axis=1)))

print("过去四天涨幅最大的股票{}".format(np.argmax(temp,axis=0)))