我有两个数据框如下:
DateTime = pd.date_range('2011-11-23T09:00:00', periods=39774, freq='30T')
Emptydf = pd.DataFrame({'DateTime':DateTime})
因此大小将为(39774, 1)
我正在从 csv 文件中读取第二个数据框,其中包含某些日期的销售情况,大小和数据结构如图所示
df1.shape
(38375, 2)
和
df1.dtypes
DateTime datetime64[ns]
Sale float32
dtype: object
当我执行以下代码时:
df2=pd.merge(Emptydf,df1,how='left',on='DateTime')
我得到了奇怪的结果。根据文档,df2 的大小应该是 Emptydf,但大小是:df2.shape (39800, 2)
有人可以告诉我我做错了什么吗?
(两个数据框中的日期时间都是数据类型)
最佳答案
尝试删除 df1 中的 DateTime 重复项
。
为此,您可以使用:
df1.drop_duplicates(subset='DateTime', keep='first', inplace=True)
关于python - 日期列上的左合并在 Pandas 中表现得很奇怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55781031/