【发布时间】:2020-01-22 06:53:17
【问题描述】:
当我使用groupby().sum() 运行下面的聚合代码时,我的Date 系列的格式似乎错误:它似乎返回了27.08.2019 之后的未来日期的结果,即使我的系列在那之后没有日期:
Date Obs
8189 2019-08-24 6.597940
8190 2019-08-24 0.758000
8191 2019-08-25 18.260892
8192 2019-08-25 6.590545
8193 2019-08-25 2.919198
8194 2019-08-25 0.838000
8195 2019-08-26 0.798000
8196 2019-08-26 6.597977
8197 2019-08-26 18.010977
8198 2019-08-26 2.882872
8199 2019-08-27 17.941132
8200 2019-08-27 0.847250
8201 2019-08-27 2.864728
8202 2019-08-27 6.730443
这段代码:
fiyat_w = fiyat_w.groupby('Date').sum()
fiyat_w = fiyat_w.reset_index()
返回聚合系列(每日传感器测量值的每日总和)以及对未来日期的观察:
2057 2019-12-01 27.980334
2058 2019-12-02 24.340758
2059 2019-12-03 21.063112
2060 2019-12-04 25.989285
2061 2019-12-05 27.839916
2062 2019-12-06 27.301501
2063 2019-12-07 27.049580
2064 2019-12-08 26.325082
fiyat_w['Date'].describe()
Out[59]:
count 2065
unique 2065
top 2016-11-14 00:00:00
freq 1
first 2014-01-01 00:00:00
last 2019-12-08 00:00:00
Name: DATE_OF_TRANSACTION, dtype: object
有什么问题?
【问题讨论】:
-
因为您的日期是
mm.dd格式,但是当您读错日期时,您将月份与日期颠倒了。请参阅有关正确转换日期时间的链接问题;您需要将显式格式字符串传递给to_datetime,不要依赖默认行为;pandas.read_csv(..., daysfirst)被称为是错误的,尤其是。用于混合格式的日期。
标签: python pandas datetime datetime-format