python - 减去两个列表,但值在 Python 中没有相加
问题描述
我要执行操作:roll_all-theta_all
. 它们都lists
包含两个值,结果应该列在 my 上名为“roll”的列中panda.DataFrame
。但是,当我这样做时,'roll' 列的第二行值不会相加。虽然由于我在代码的其他部分执行操作而无法看到它theta_all
,但我获取值的方式与获取 的值相同roll_all
,即通过创建一个空list
然后将值附加到它。这是我的代码:
pyr = pd.DataFrame(columns = ['pitch','yaw','roll'])
for para in GTparas:
Mr = np.array([[np.cos(para[2]), -np.sin(para[2]), 0],[np.sin(para[2]), np.cos(para[2]), 0],[0, 0, 1]])
My = np.array([[np.cos(para[1]), 0, np.sin(para[1])],[0, 1, 0],[-np.sin(para[1]), 0, np.cos(para[1])]])
Mp = np.array([[1, 0, 0],[0, np.cos(para[0]), -np.sin(para[0])],[0, np.sin(para[0]), np.cos(para[0])]])
M1 = np.dot(Mr,My)
M = np.dot(M1,Mp)
pitch = np.arctan(M[2,1]/M[2,2])
yaw = np.arctan(M[2,0]/((((M[0,0])**2)+((M[1,0])**2))**(1/2)))
roll = np.arctan(M[1,0]/M[0,0])
roll_all = []
roll_all.append(roll)
print(roll_all)
c = [a - b for a, b in zip(roll_all, theta_all)]
#c = np.array(roll_all) - np.array(theta_all)
pyr = pyr.append({'pitch':pitch,'yaw':yaw,'roll':c},ignore_index = True) # from Z-Y-X to X-Y-Z
print(pyr)
我还在我的列表中附加了值,theta_all
第二张图像显示了其中的值roll_all
以及我在打印时得到的值pyr
。
解决方案
总结:
pyr = pd.DataFrame(columns = ['pitch','yaw','roll'])
for para,theta in zip(GTparas, theta_all):
Mr = np.array([[np.cos(para[2]), -np.sin(para[2]), 0],[np.sin(para[2]), np.cos(para[2]), 0],[0, 0, 1]])
My = np.array([[np.cos(para[1]), 0, np.sin(para[1])],[0, 1, 0],[-np.sin(para[1]), 0, np.cos(para[1])]])
Mp = np.array([[1, 0, 0],[0, np.cos(para[0]), -np.sin(para[0])],[0, np.sin(para[0]), np.cos(para[0])]])
M1 = np.dot(Mr,My)
M = np.dot(M1,Mp)
pitch = np.arctan(M[2,1]/M[2,2])
yaw = np.arctan(M[2,0]/((((M[0,0])**2)+((M[1,0])**2))**(1/2)))
roll = np.arctan(M[1,0]/M[0,0]) - theta
pyr = pyr.append({'pitch':pitch,'yaw':yaw,'roll':roll},ignore_index = True)
print(pyr)
推荐阅读
- java - 反序列化 avro 很慢
- flutter - 当小部件包装在 InteractiveViewer 中时,Flutter onPanStart 调用较晚
- r - 只安装那些尚未安装的 R 包(包括 cran 和 github):任何内置方式?
- paypal - Omnipay Paypal 设置商店名称和徽标(Laravel)
- python-3.x - Azure Web App 的 Python 版本不匹配
- java - 使用 google unity firebase 保持登录状态
- solidity - 检查映射中是否存在键
- node.js - Nodejs访问本地网络上的共享文件夹,根目录问题
- django - 解决django模板不存在的问题
- vagrant - 如何指定在 Vagrant 中下载到 Virtualbox VM 的 salt 版本?