python - 在数据帧上执行迭代循环时出现值错误
问题描述
我正在运行以下代码:
def backwash (df):
df.loc[0, 'backwash'] = np.NaN
for i in range (3, len(df)-2):
while (df.loc[i,'MF1 Permeate Flow (m3/min)']==0):
if (df.loc[i-2:i+2, 'MF1 Trans-Membrane Pressure (kPa) (PDI3423)']>0):
df.loc[i,'backwash'] = 'BW'
break
else:
break
else:
pass
return df
问题出在df.loc [i-2:i+2, 'MF1 Trans-Membrane Pressure (kPa) (PDI3423)']
. 因此我得到值错误(真值不明确)。有没有其他方法可以运行这个循环?
我基本上想根据前两行和后两行的值检查某行的值。
解决方案
推荐阅读
- ruby-on-rails - Rails:如何通过模型中的 id 通过关系创建 has_many?
- excel - Excel 2007 - 重新排列水平行中的垂直数据
- c# - 在循环内添加 SQL 参数,在循环外执行。(C# SQL 客户端中带参数的单查询多插入)
- angular - span 标签的测试用例
- d3.js - 如何在同一个图中使用 D3 创建不同类型的网格线
- sql-server - SQL IN 条件
- css - CSS网格:如何自动将所有列调整为最宽列?
- elasticsearch - 我可以在 Logstash 和 Elasticsearch 之间使用 Kafka 吗?(使用两个卡夫卡)
- css - 为什么一个小的 CSS 点在 Chrome 中没有相同的比例?
- python - 使用 tensorflow 执行标准化时出现错误 AttributeError: 'Node' object has no attribute 'output_masks'