使用if语句筛选列以计算新的单元格值.VALUEERROR:


angle_rad = []
i = 0
for i in range(len(X)):
if ((Y-track.Doublewide_y[i]) <0 and (X-track.Doublewide_x[i]) <0).all:
angle_rad.append(math.atan((Y-track.Doublewide_y[i])/(X-track.Doublewide_x[i])))
elif ((Y-track.Doublewide_y[i]) <0 and (X-track.Doublewide_x[i]) >=0).all:
angle_rad.append(math.pi - math.atan((Y-track.Doublewide_y[i])/(X-track.Doublewide_x[i])))
elif ((Y-track.Doublewide_y[i]) >=0 and (X-track.Doublewide_x[i]) >=0).all:
angle_rad.append(math.atan((Y-track.Doublewide_y[i])/(X-track.Doublewide_x[i]))+math.pi)

这是我在脚本中创建的循环。我试图通过一个数据集进行过滤,并根据这个循环中的条件改变值。当我运行它时,我得到错误:

"ValueError: Series的真值是不明确的。使用a.empty, a.bool(), a.item(), a.any()或所有()。"

似乎你有一个多维数组。所以你应该在if条件下分别比较每个值。例如,你的数组可能是x = [ [1,-2,3],[-4,5,6] ],所以在比较时,你应该检查它们中的每一个是正的还是负的。

for i in range(len(x)):
for j in range(len(x[i])):
if x[i][j] > 0:
do something here

相关内容

  • 没有找到相关文章