单行而不是列上的日期时间

datetime on a single row and not a column

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

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

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

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

想知道有没有更好的办法

    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     
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