python - 使用 if 语句过滤列以计算新的单元格值。值错误:
问题描述
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() 或 a.all()。'''
解决方案
看来您有一个多维数组。所以你应该在 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
推荐阅读
- c++ - 单击第二个屏幕后如何将焦点保持在第一个屏幕的顶部窗口
- javascript - 如何使用 JavaScript 获取第一个带有标记名“a”的 div 子级?
- sql - 合并交易但保留所有人口统计列
- python - 与其他子字符串比较后返回字符串的最大值 - Python
- angular - 将数据服务中的全局数据设置为可从所有组件访问
- ruby - 有没有办法在 Ruby 中解密没有密钥的编码字符串?
- python - 如何将列表变量从一个类的方法传递给另一个类的方法?
- java - 如何在 java 中执行 jMeter 脚本并在同一个程序中处理结果?
- git - 为什么 git rebase 忽略合并提交?
- r - 在 RStudio 中使用 plm 中的 pgmm 编织时找不到对象