首页 > 解决方案 > DataFrame 更新未保存到文件

问题描述

我看到这个奇怪的问题,对 DataFrame 所做的更新没有被写入文件。我知道有些行满足条件并且应该更新。也许我错过了一些非常明显的东西,而一双新的眼睛会有所帮助。

prev_date = (datetime.now() - timedelta(days=1)).strftime('%Y-%m-%d')

df = pd.concat([df1, df2], ignore_index=True) # just for prior context in case it matters
df.loc[(df['TBL'].str.contains('abc')) & (df['DT'] == prev_date),'FLAG'] = 'Y' # can't see this update in the outfile csv file written
df.sort_values(by=['TBL']).to_csv('output.csv', index=False)

当我在控制台中读取上面编写的输出文件并在那里重复相同的步骤时,我可以看到更新正在发生。关于我缺少什么的任何线索?

结构df

TBL     DT      FLAG
aab 2020-07-16    Y
abc 2020-07-15    N
abb 2020-07-15    N

更新 1:df['DT'] == prev_date奇怪的是不工作

更新 2:df['DT'].astype(str) == prev_date修复了这个问题,但不知道为什么strDT是对象类型时需要强制转换。

标签: pythonpandasdataframe

解决方案


推荐阅读