Python datetime位于单行而不是列上
我有一个df,其中一个日期在列中具有基础值。带有日期的行中也有一些名称 我想将单行中的日期转换为datetime(当前存储为字符串) 一种解决方案虽然不喜欢,但它是通过其他列(字符串)索引,然后转置表将日期(现在列中)转换为datetime,然后再次转置。 样本数据- 日期存储为字符串,我希望它们是datetime 我想知道是否有更好的方法Python datetime位于单行而不是列上,python,pandas,datetime,rows,Python,Pandas,Datetime,Rows,我有一个df,其中一个日期在列中具有基础值。带有日期的行中也有一些名称 我想将单行中的日期转换为datetime(当前存储为字符串) 一种解决方案虽然不喜欢,但它是通过其他列(字符串)索引,然后转置表将日期(现在列中)转换为datetime,然后再次转置。 样本数据- 日期存储为字符串,我希望它们是datetime 我想知道是否有更好的方法 C N D 12-10 12-11 12-12 1 NW NW NW 19 12 16 2 N
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
对于每个列,是否有比这样做更好的方法df实际上相当大,因此上面的方法比转置方法长(或者可以定义一个函数/循环来实现这一点)是的,只是在for循环中迭代每个相关列。如果你喜欢这个答案,请upvot/accept你能把循环写出来吗?我不知道你是如何把循环写在日期下面的字符串值上的。此外,还需要将这些字符串号转换为添加了for循环的float64/32I。你能解释一下字符串数字转换成浮点数是什么意思吗?你的意思是它们是数字类型,需要转换为字符串?日期下面的数字是字符串,需要转换为数字。为了澄清这个问题,df正在写入csv,因此带有日期的列标题需要采用日期-时间格式。您希望输出数据帧的外观如何?我承认我不明白你想做什么只是想修改dtypes@AmeyaVikram我对你想要的产出感到困惑。
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