Pandas使用日期列调用resample重采样报ValueError如何解决
Pandas resample 报错解决方案
错误成因
你的代码中resample方法的on参数使用不符合规范:on参数仅需要传入日期列的列名字符串,不需要传入该列对应的Series对象。
你传入sum_data["date"](完整的日期列Series)时,pandas内部处理on参数的逻辑需要做类型判定,过程中触发了Series的隐式布尔转换,而pandas不允许直接对一整个Series做布尔值判定,因此抛出了The truth value of a Series is ambiguous的错误。
修正方法
将resample调用行修改为以下内容即可:
sum_data = sum_data.resample("W", on="date").sum()
修改后无需将日期列设置为索引,即可正常按周维度对event字段求和,符合你的预期使用逻辑。
内容的提问来源于stack exchange,提问作者Phil K.
相关产品推荐
相关产品推荐

