数据框日期时间将月转换为天

时间:2021-03-15 19:33:09

标签: python dataframe datetime

我正在尝试将日/月/年的小时数:分钟列转换为日和月。当我运行我的代码时,转换会将月份转换为天,将天转换为月份。

您可以在此处找到我要切换到日/月的一列的数据框副本 https://file.io/JkWl7fsBN0vl

下面是我用来转换的代码:

    df =pd.read_csv('Example.csv')
    df['DateTime'] = pd.to_datetime(df['DateTime'])
    df.to_csv("output.csv", index=False)

1 个答案:

答案 0 :(得分:0)

在不知道您使用的确切日期时间格式的情况下(数据框的链接已损坏),我将使用一个示例

日/月/年 小时:分钟

05/09/2014 12:30

您可以使用 this site

确定确切的格式日期代码

本质上,to_datetime() 有一个格式参数,当它不是很明显时,您可以在其中传递特定格式。这将让您指定它在月 -> 日,日 -> 月中一直令人困惑的内容实际上是相反的。

>>> df = pd.DataFrame(['05/09/2014 12:30'],columns=['DateTime'])
      DateTime
0     05/09/2014 12:30

>>> df['DateTime'] = pd.to_datetime(df['DateTime'], format='%d/%m/%Y %H:%M')
      DateTime
0     2014-09-05 12:30:00


>>> df['day'] = df['DateTime'].dt.day
>>> df['month'] = df['DateTime'].dt.month
      DateTime                day       month
0     2014-09-05 12:30:00     5         9


>>> df['DD/MM'] = df['DateTime'].dt.strftime('%d/%m')
      DateTime                day       month     DD/MM
0     2014-09-05 12:30:00     5         9         05/09

我不确定您希望日期和月份可用的确切格式(单独的列,合并的列),但我提供了一些示例,因此您可以在完成后删除 DateTime 列并使用一个你需要的。