我有两个数据框如下:
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)
有人可以告诉我我做错了什么? (两个数据框中的DateTime都是数据类型)
尝试在df1中删除DateTime duplicates
。
为此您可以使用:
df1.drop_duplicates(subset='DateTime', keep='first', inplace=True)