gpt4 book ai didi

python - 比较两个 Pandas 数据框的差异

转载 作者:IT老高 更新时间:2023-10-28 21:52:56 26 4
gpt4 key购买 nike

我有一个更新 5-10 列数据的脚本,但有时起始 csv 将与结束 csv 相同,因此我不想编写相同的 csv 文件,而是希望它什么也不做......

如何比较两个数据框以检查它们是否相同?

csvdata = pandas.read_csv('csvfile.csv')
csvdata_old = csvdata

# ... do stuff with csvdata dataframe

if csvdata_old != csvdata:
csvdata.to_csv('csvfile.csv', index=False)

有什么想法吗?

最佳答案

您还需要小心创建 DataFrame 的副本,否则 csvdata_old 将使用 csvdata 更新(因为它指向同一个对象):

csvdata_old = csvdata.copy()

要检查它们是否相等,您可以use assert_frame_equal as in this answer :

from pandas.util.testing import assert_frame_equal
assert_frame_equal(csvdata, csvdata_old)

您可以将其包装在一个函数中,例如:

try:
assert_frame_equal(csvdata, csvdata_old)
return True
except: # appeantly AssertionError doesn't catch all
return False

讨论了更好的方法...

关于python - 比较两个 Pandas 数据框的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19917545/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com