为什么一个数组中值的变化会影响另一个不参与操作的数组(具有完全相同的值)上的值?

Rational-IM

当我运行命令“negative_only[negative_only>0]=0”(它应该使数组“negative_only”上的正值= 0)时,类似数组(“positive_only”)上的值也发生了变化。为什么会这样?我使用的是 Python 3.7(Windows 10/Spyder IDE)。

操作两个数组的代码如下。“long_dollars_ch”是一个 ~2700 x 60 的数组,其中包含一些正值、一些负值和许多零。此代码是循环遍历数组“long_dollars_ch”的每一行的循环的一部分。

# calculations to isolate top contributors to NAV change for audits
top_check = 3 # number of top values changes to track

# calculate dollar change (for longs), and create array with most positive/negative values
long_dollars_ch[c_day,:] = long_shares[c_day,:]*hist_prices_zeros[c_day,:]-long_shares[c_day,:]*hist_prices_zeros[c_day-1,:]
positive_only = long_dollars_ch[c_day,:]
positive_only[positive_only<0]=0 #makes non-positive values zero
idx = np.argsort(positive_only) #creat index representing sorted values for only_positive for c_day
non_top_vals = idx[:-top_check]
negative_only = long_dollars_ch[c_day,:]
negative_only[negative_only>0]=0 #makes non-negative values zero
idx = np.argsort(negative_only) #creat index representing sorted values for only_negative for c_day
non_bottom_vals = idx[:-top_check]

# create array that shows the most positive/negative dollar change for "top-check" securities
long_dollars_ch_pos[c_day,:] = positive_only
long_dollars_ch_pos[c_day,:][non_top_vals] *= 0
long_dollars_ch_neg[c_day,:] = negative_only
long_dollars_ch_neg[c_day,:][non_bottom_vals] *= 0

此代码的目标是创建两个数组。对于原始数组“long_dollars_ch”的每一行,只有顶部“top_check”正值(如果有)和另一个具有底部“top_check”负值(如果有)。但是,Python 似乎正在考虑“positive_only”和“negative_only”是同一个“变量”。因此,其中一个的操作会影响另一个内部的值(这不是操作的一部分)。

马特乌什·博鲁赫

它很简单。

在 numpynp.array x = np.array y你不复制数组:)

您引用了数组 x。

换句话说,使用“=”后你没有两个数组。您仍然有一个数组 x 和对该数组的引用(y 是该引用)。

positive_only = long_dollars_ch[c_day,:]
.
.
,
negative_only = long_dollars_ch[c_day,:]

不要复制 long_dollars_ch,而只是引用它。您需要使用复制方法或其他方法(numpy 提供的方法很少)才能使其工作。这是一个文档

编辑:我发布了错误的链接,现在可以了。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据另一个数组中的值对numpy数组的选择索引执行操作

来自分类Dev

Numpy用另一个数组的值总结一个数组

来自分类Dev

根据另一个数组的值对一个数组进行排序?

来自分类Dev

将一个数组与另一个数组值进行比较

来自分类Dev

在一个数组中合并两个具有索引的数组,在另一个perl中合并两个值

来自分类Dev

在多维度数组中删除具有相同键的重复值,并将唯一值存储到另一个数组

来自分类Dev

JavaScript-检查一个数组是否与另一个数组具有相同的索引

来自分类Dev

使用另一个数组中具有相同索引的值更新数组中的值

来自分类Dev

从另一个数组的值派生一个数组

来自分类Dev

映射numpy数组并在另一个数组中的位置上求和值

来自分类Dev

如何显示内部具有另一个数组的数组的值?

来自分类Dev

根据另一个数组中的值对numpy数组的选择索引执行操作

来自分类Dev

为什么在调用另一个函数时此char数组会更改值?

来自分类Dev

合并一个数组,但保留另一个数组中没有的值

来自分类Dev

通过另一个数组中的值过滤一个数组?

来自分类Dev

Javascript-在一个数组中提取具有匹配属性的元素的值,然后保存到另一个数组

来自分类Dev

比较一个数组值和另一个数组

来自分类Dev

删除另一个数组的数组值

来自分类Dev

检查一个数组中的所有值是否在另一个数组中

来自分类Dev

将一个数组与另一个数组值拼接

来自分类Dev

将数组中的一个值组合到另一个数组的所有值 php

来自分类Dev

检查一个数组是否包含另一个数组的值

来自分类Dev

如果包含来自具有不同值格式的另一个数组的值,则从数组返回行

来自分类Dev

对象数组将相同的值分隔成另一个数组的键

来自分类Dev

我试图将一个类的数组的值赋予另一个具有相同类的数组,这里有什么我遗漏的吗?

来自分类Dev

从另一个数组递增一个数组的值

来自分类Dev

用另一个数组的相同索引的值替换一个数组中的值?

来自分类Dev

如何为具有必须匹配特定键和来自另一个数组的相同值的值的数组执行 foreach

来自分类Dev

将数组中的值添加到php中具有相同ID的另一个数组

Related 相关文章

  1. 1

    根据另一个数组中的值对numpy数组的选择索引执行操作

  2. 2

    Numpy用另一个数组的值总结一个数组

  3. 3

    根据另一个数组的值对一个数组进行排序?

  4. 4

    将一个数组与另一个数组值进行比较

  5. 5

    在一个数组中合并两个具有索引的数组,在另一个perl中合并两个值

  6. 6

    在多维度数组中删除具有相同键的重复值,并将唯一值存储到另一个数组

  7. 7

    JavaScript-检查一个数组是否与另一个数组具有相同的索引

  8. 8

    使用另一个数组中具有相同索引的值更新数组中的值

  9. 9

    从另一个数组的值派生一个数组

  10. 10

    映射numpy数组并在另一个数组中的位置上求和值

  11. 11

    如何显示内部具有另一个数组的数组的值?

  12. 12

    根据另一个数组中的值对numpy数组的选择索引执行操作

  13. 13

    为什么在调用另一个函数时此char数组会更改值?

  14. 14

    合并一个数组,但保留另一个数组中没有的值

  15. 15

    通过另一个数组中的值过滤一个数组?

  16. 16

    Javascript-在一个数组中提取具有匹配属性的元素的值,然后保存到另一个数组

  17. 17

    比较一个数组值和另一个数组

  18. 18

    删除另一个数组的数组值

  19. 19

    检查一个数组中的所有值是否在另一个数组中

  20. 20

    将一个数组与另一个数组值拼接

  21. 21

    将数组中的一个值组合到另一个数组的所有值 php

  22. 22

    检查一个数组是否包含另一个数组的值

  23. 23

    如果包含来自具有不同值格式的另一个数组的值,则从数组返回行

  24. 24

    对象数组将相同的值分隔成另一个数组的键

  25. 25

    我试图将一个类的数组的值赋予另一个具有相同类的数组,这里有什么我遗漏的吗?

  26. 26

    从另一个数组递增一个数组的值

  27. 27

    用另一个数组的相同索引的值替换一个数组中的值?

  28. 28

    如何为具有必须匹配特定键和来自另一个数组的相同值的值的数组执行 foreach

  29. 29

    将数组中的值添加到php中具有相同ID的另一个数组

热门标签

归档