python - 比较两个数据帧并通过比较一列找到不在第二个数据帧中的行
问题描述
我希望获取具有相同列的 2 个数据帧,并基于 1 列进行比较,并生成一个新的数据帧,其中包含未出现在第二个数据帧中的行。这是一个带有打印类型的数据帧片段。我也尝试过pd.to_datetime(df['Date'])
它们以确保我将苹果与苹果进行比较。
df1
Date object
Open float64
High float64
Low float64
Close float64
Volume int32
dtype: object
Date Open High Low Close Volume
0 2000-01-04 24.35 24.35 23.55 23.70 1372800
1 2000-01-05 23.80 23.90 23.38 23.38 2746800
2 2000-01-06 23.48 23.82 23.38 23.70 2243200
3 2000-01-07 23.60 23.60 23.12 23.45 1610400
4 2000-01-10 23.48 23.48 22.90 22.90 1728600
df2
Date object
Open object
High object
Low object
Close object
Volume int64
dtype: object
Date Open High Low Close Volume
0 2000-01-04 24.35 24.35 23.55 23.70 1372800
1 2000-01-05 23.80 23.90 23.38 23.38 2746800
2 2000-01-06 23.48 23.83 23.38 23.70 2243200
3 2000-01-07 23.60 23.60 23.13 23.45 1610400
输出
Date Open High Low Close Volume
4 2000-01-10 23.48 23.48 22.90 22.90 1728600
我使用的代码是:
df1[~df1.Date.isin(df2.Date.values)]
这在我从 .csv 加载 df1 时有效,但是当我从网站拉取它时,它会产生所有行。我不明白比较如何看不到相同的日期。
我将它们都保存为 .csv 并进行了比较,但我看不出有什么区别。
任何诊断此问题的帮助将不胜感激。
谢谢