[英]Python - Original data matrix gets modified after for i, v in enumerate(): statement
请参见下面的代码片段:
import numpy as np
# Load the .txt file in
myData = np.loadtxt('data.txt')
# Extract the time and acceleration columns
time = myData[:,0]
# Extract the linear acceleration columns
xLinearAcc = myData[:,4]
yLinearAcc = myData[:,5]
zLinearAcc = myData[:,6]
# Find the linear accelerations
xLinearAccSqr = myData[:,0]
for i, v in enumerate(xLinearAcc):
xLinearAccSqr[i] = pow(v,2)
myData是我的2D数据矩阵。 我想做的是将第4列提取到新的数组xLinearAcc中。 然后,我将xLinearAcc中的每个单项取平方,并将它们存储到另一个新的数组xLinearAccSqr中。
(我之所以拥有xLinearAccSqr = myData [:,0]的原因是,如果我没有该行,则编译器总是告诉我我的xLinearAccSqr是未定义的。所以我只是随机地将其等于第一列,因为无论如何以后所有值都将被覆盖。不知道此行是否引起麻烦)
然后是问题。 myData的第一列进行了奇怪的修改。 我不想这样。 任何人都可以帮忙吗? 我将非常感谢您的帮助!
==========================更新======================= ================
问题解决了。 在此处发布解决方案可能会对他人有所帮助。
采用
xLinearAccSqr = copy(myData[:,0])
我猜想Python如何传递引用而不是值。 因此,只需复制一份即可。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.