我有两个数据框,如下所示:
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均为数据类型)
答案 0 :(得分:2)
尝试删除df1中的DateTime duplicates
。
为此,您可以使用:
df1.drop_duplicates(subset='DateTime', keep='first', inplace=True)