继续得到“ValueError:序列的真值是模棱两可的。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。

Keep getting "ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()."

提问人:CRoss 提问时间:4/1/2022 最后编辑:marc_sCRoss 更新时间:4/23/2022 访问量:320

问:

data_df.loc[data_df['hotelID'] == sqlIDs[neededId] & to_integer(df.iloc[row, 6]) >= to_integer(MostRecent)]

这是不断给我这个错误的片段。是日期,也是。我将它们转换为整数,因为如果我不这样做,它会给我一个单独的错误'df.iloc[row, 6]''MostRecent'

TypeError:&: 'int' 和 'Timestamp' 不支持的操作数类型

这是一个 int 与另一个 int 的比较'data_df['hotelID']''sqlIDs[neededId]'

因此,这一行的重点是只查找同时具有匹配 int(称为 )和大于neededIdMostRecent

Python Pandas DataFrame 日期时间 比较

评论

0赞 ifly6 4/1/2022
首先,使用括号进行分组;第二,什么是.还要准确说明您遇到的错误:序列模棱两可或不支持的操作数?to_integer
0赞 CRoss 4/1/2022
to_integer是将日期转换为整数值以相互比较。而且它的系列模棱两可
0赞 CRoss 4/1/2022
实际上,更具体地使用牙套就成功了,谢谢!

答:

0赞 CRoss 4/1/2022 #1

每个所需规格周围的括号:data_df.loc[(data_df['hotelID'] == sqlIDs[neededId]) & (to_integer(df.iloc[row, 6]) >= to_integer(MostRecent))])