Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python datetime位于单行而不是列上_Python_Pandas_Datetime_Rows - Fatal编程技术网

Python 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

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

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

一种解决方案虽然不喜欢,但它是通过其他列(字符串)索引,然后转置表将日期(现在列中)转换为datetime,然后再次转置。 样本数据-

日期存储为字符串,我希望它们是datetime

我想知道是否有更好的方法

    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