我正在尝试将日/月/年的小时数:分钟列转换为日和月。当我运行我的代码时,转换会将月份转换为天,将天转换为月份。
您可以在此处找到我要切换到日/月的一列的数据框副本 https://file.io/JkWl7fsBN0vl
下面是我用来转换的代码:
df =pd.read_csv('Example.csv')
df['DateTime'] = pd.to_datetime(df['DateTime'])
df.to_csv("output.csv", index=False)
答案 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 列并使用一个你需要的。