Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.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
在数据帧行和列名中转换为日期时间时的不同输出(Pandas-Python)_Python_Pandas_String_Dataframe_Datetime - Fatal编程技术网

在数据帧行和列名中转换为日期时间时的不同输出(Pandas-Python)

在数据帧行和列名中转换为日期时间时的不同输出(Pandas-Python),python,pandas,string,dataframe,datetime,Python,Pandas,String,Dataframe,Datetime,Pandas的方法“to_datetime”允许我们将字符串转换为datetime对象。不过,在转换数据帧行和列标签时,此方法似乎有不同的输出 假设df是一个数据框,其行和列标签中有相同的日期字符串: import pandas as pd d = {'01-01-2001': ['01-01-2001'], '02-02-2002': ['02-02-2002'],'03-03-2003': ['03-03-2003']} df = pd.DataFrame(data=d) 现在,让我们

Pandas的方法“to_datetime”允许我们将字符串转换为datetime对象。不过,在转换数据帧行和列标签时,此方法似乎有不同的输出

假设df是一个数据框,其行和列标签中有相同的日期字符串:

import pandas as pd

d = {'01-01-2001': ['01-01-2001'], '02-02-2002': ['02-02-2002'],'03-03-2003': ['03-03-2003']}
df = pd.DataFrame(data=d)

现在,让我们将这些数据转换为datetime:

df.columns = pd.to_datetime(df.columns)
df.loc[0] = pd.to_datetime(df.loc[0])


当列标签输出可读的日期时间数据时,行输出不同的格式。为什么?如何获得数据帧行中的可读数据?

您可以使用strftime重新格式化日期

df.loc[0] = pd.to_datetime(df.columns).strftime(date_format='%Y-%m-%d')
输出

df
Out[400]: 
   2001-01-01  2002-02-02  2003-03-03
0  2001-01-01  2002-02-02  2003-03-03

因为数据类型已经是一个对象,所以需要更改列的数据类型,而不是行,才能使其工作