繁体   English   中英

Pandas 日期时间格式不一致

[英]Pandas datetime inconsistent format

我希望有人可以帮助我解决以下问题:我正在尝试使用以下方法将我的数据转换为每日平均值:

df['timestamp'] = pd.to_datetime(df['Datum WSM-09'])
df_daily_avg = df.groupby(pd.Grouper(freq='D', key='timestamp')).mean()

df['Datum WSM-09'] 看起来像这样:

0          6-3-2020 12:30
1          6-3-2020 12:40
2          6-3-2020 12:50
3          6-3-2020 13:00
4          6-3-2020 13:10
               ...       
106785    18-3-2022 02:00
106786    18-3-2022 02:10
106787    18-3-2022 02:20
106788    18-3-2022 02:30
106789    18-3-2022 02:40
Name: Datum WSM-09, Length: 106790, dtype: object

但是,在执行第一行时,“timestamp”下的数据是不一致的。 图片中显示的最后一行是正确的。 对于第一个,应该是 2020-03-06 12:30。 月份和日期互换。

非常感谢

在此处输入图像描述

https://xkcd.com/1179 中,Randall Munroe 解释说“你做错了”。

异8601

您的来源专栏显然是 object / text。 3 月 18 日的时间戳是明确的,因为一年不到 18 个月。 模棱两可的 3 月 6 日时间戳使黑猫背上的毛发竖立起来。

鉴于源列的格式不明确,您忽略了指定时间戳格式。

RTFM

格式:str,默认无

解析时间的strftime,例如“%d/%m/%Y”。 请注意,“%f”将一直解析到纳秒。 有关选择的更多信息,请参阅strftime 文档

您尝试提供None的值,这与您的业务需求不匹配。 我不知道您所有的输入数据是什么样的,但也许%d-%m-%Y %H:%M会更好地满足您的需求。

尝试使用“dayfirst”选项: df['timestamp'] = pd.to_datetime(df['Datum WSM-09'], dayfirst=True)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM