python - 日期列上的左合并在 Pandas 中表现得很奇怪

标签 python pandas

我有两个数据框如下:

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/

相关文章:

python - Sklearn 将字符串类标签更改为 int

python - 将字符串分成子字符串python

python - 使用 pandas 重采样函数对每小时值进行上采样时出现意外结果

python - 使用 Pandas 创建交易假期日历

python - 匹配两个数据框以选择具有完全匹配的行项目的项目

python - 为什么图像中的透明度变成黑色,如何去除它?

python - 从 for 循环创建列表

c++ - 项目,Python/C++

python - 在 Windows 10 中为 python 安装 mysqlclient 时出错

pandas - 填充 : how to pad values over the next x days