我正在尝试遍历.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