如何使用pandas to_datetime func检查列中的2种不同格式?

2024-06-25 23:06:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用两种不同的日期时间格式来格式化一列

...
28            4/30/2016 22:51
29            4/30/2016 22:48
...      
3595353    10/1/2016 00:11:02
3595354    10/1/2016 00:10:13
...

为了读取CSV文件,我使用了bike_df = pd.read_csv('Bike_Trips.csv')

然后为todatetimefrmt1 = '%m/%d/%Y %H:%M'和{}定义这两种格式

然后我试图通过连续运行这两个代码来转换两种不同的格式

^{pr2}$

但是,当使用errors = 'coerce'时,日期时间会改变,但是使用NaT是因为格式不同

29        2016-04-30 22:48:00
                  ...        
3595353                   NaT

但是,当使用error = 'ignored'时,没有任何变化

29            4/30/2016 22:48
                  ...        
3595353    10/1/2016 00:11:02

我是不是做错了什么?在


Tags: 文件csv代码dfread定义格式时间
1条回答
网友
1楼 · 发布于 2024-06-25 23:06:16

您的代码有几个问题:

  1. errors参数的值可以是raisecoerce或{}(不是ignored,否则使用raise
  2. frmt2不正确,因为它包含%I小时,而不是示例中的00,而是从01开始。在

然而,上述固定并不能提供有效的解决方案。 但是,使用pandas内置的功能来解析日期时间不是可以的吗?在

bike_df['starttime'] = pd.to_datetime(bike_df['starttime'],
                                      infer_datetime_format=True)

其中infer_datetime_format打开基于输入数据的格式猜测

~~~更新~~~

我看到了使用以下两种不同格式进行识别的方法(注意,我在4个伪条目上测试过):

^{pr2}$

相关问题 更多 >