【发布时间】:2021-09-11 00:23:25
【问题描述】:
我正在创建一个脚本,用于比较两个 Excel 工作表的差异,然后将比较结果写入一个新的 CSV 文件。我尝试了以下教程,但在尝试运行我的脚本时出现错误:“ValueError:只能比较标记相同的 DataFrame 对象”。我做错了什么?
我的代码如下:
import pandas as pd
pd.set_option('display.max_rows', 2500)
pd.set_option('display.max_columns', 2500)
pd.set_option('display.width', 2000)
df1 = pd.read_excel('Old Budget.xlsx')
df2 = pd.read_excel('New Budget.xlsx')
diffs = df1[df1!=df2]
df1[df1!=df2].to_csv ('Differences.csv', index = False, header=True)
print (diffs)
我的示例数据框:
import pandas as pd
data = [['tom', 10], ['nick', 15], ['juli', 14],['kelly', 10], ['mark', 15], ['james', 14]]
df = pd.DataFrame(data, columns = ['Name', 'Age'])
df
import pandas as pd
data = [['tom', 60], ['nick', 15], ['juli', 10],['kelly', 10]]
df = pd.DataFrame(data, columns = ['Name', 'Age'])
df
谢谢。
【问题讨论】:
-
df1.dropna只是一个函数对象。如果你想改变现有的数据框,你可以调用它df1.dropna(inplace=True)。有时最好只重新分配数据框:df1 = df1.dropna()。 -
我们没有您的 excel 文件,并且由于它们对答案并不那么重要,因此请考虑仅初始化两个具有您想要测试的差异的数据框。然后我们可以复制并运行您的代码。
-
@tdelaney 好的,刚刚在我的帖子中添加了两个数据框。希望一切格式正确,我是新来的。
标签: python excel pandas dataframe jupyter-notebook