首页 > 解决方案 > 单行而不是列上的日期时间

问题描述

我有一个 df,其中单个日期在列中具有基础值。带有日期的行中也有一些名称。

我想将单行中的日期转换为日期时间(当前存储为字符串)。

一种解决方案——虽然不是它的粉丝——按其他列(字符串)索引,然后转置表将日期(现在在列中)转换为日期时间,然后再次转置。样本数据-

日期存储为字符串,我希望它们是日期时间。

想知道有没有更好的方法。

    C   N   D   12-10 12-11  12-12
1   NW  NW  NW   19    12     16     
2   NW  NW  NW   11    14     18     
3   NW  NW  NW   45    46     93     

标签: pythonpandasdatetimerows

解决方案


import datetime

df = pd.DataFrame({'C':['NW','NW','NW'],'N':['NW','NW','NW'],'D':['NW','NW','NW'],'12-10':[19,11,45],'12-11':[12,14,46],'12-12':[16,18,93]})

cols_to_datetime = [datetime.datetime.strptime(x+'-2020','%m-%d-%Y') for x in df.columns[3:]]

df.columns = df.columns[0:3].to_list() + cols_to_datetime

推荐阅读