尝试比较 Python 熊猫数据框中的日期时出现错误



我正在尝试遍历.csv文件中的行,并在满足某些条件时执行一些计算。

这是我的代码示例:

我确保使用"parse_dates"来识别日期列

df = pd.read_csv('.csv file', parse_dates = ['Columns containing dates']
for index, row in df.iterrows():
Flag = (df['Date 1'] - df['Date 2']).dt.days
while Flag > 0 and df['Balance'] > 0:
do something

删除 while 循环并打印 Flag 将生成 dtype 为 int64 的数字行。

添加 while 循环,我得到:

错误:序列的真值不明确。使用 a.空, a.bool((、a.item((、a.any(( 或 a.all((。

我不明白...有人可以指出我正确的方向吗?此外,我不是在尝试修改数据帧,而只是读取.csv,从中提取信息以执行计算,并输出到新文件。

代码中Flag的变量是一个pandas Series。您无法用Flag>0来评估它。

该错误显示熊猫系列上允许的操作,即.empty(), .bool(), etc.

打印Flag的值时,它将打印它包含的系列。您需要遍历Series中的元素,然后根据需要检查比较。

我不确定您想在这里进行比较,但下面的文档可能会让您轻松:

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.html

相关内容

  • 没有找到相关文章

最新更新