【发布时间】:2017-10-28 11:57:40
【问题描述】:
我发生了一个我无法弄清楚的奇怪错误。
希望得到一些帮助。
我的代码中有一个 if 语句如下:
if my_df.ix[my_df['SOMEINTEGER'] == another_df.ix[i,'SOMECOMPARABLEINTEGER'],'SOMECOLUMN'] == 'I':
*** DO SOMETHING ***
i+=1
此语句的作用是选择 my_df 中 'SOMEINTEGER' 等于 another_df.ix[i,'SOMECOMPARABLEINTEGER'] 中的整数值的行,并检查 my_df 中 'SOMECOLUMN' 中的列值是否等于 'I'
如果我将 if 语句作为单行代码运行,并将值设置为与数据帧索引值相对应的整数,则它可以工作。
如果我在更大的迭代中包含这个 if 语句(并且类似地将递增的 i 移出以便它正确递增,我会收到以下错误:
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
我无法确定错误的来源。
任何帮助/见解表示赞赏。
提前致谢。
【问题讨论】:
-
my_df 中可以有几行,其中 'SOMEINTEGER' 等于 another_df.ix[i,'SOMECOMPARABLEINTEGER'] 中的整数值,因此您将数组与点进行比较。
-
你想做什么?看起来你的括号不正确。
标签: python loops pandas if-statement