首页 > 解决方案 > 在数据框行和列名中转换为日期时间时的不同输出(Pandas - Python)

问题描述

Pandas 的“to_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)

在此处输入图像描述

现在让我们将这些数据转换为日期时间:

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

在此处输入图像描述

列标签输出可读的日期时间数据,而行输出不同的格式。为什么?又应该怎么做才能获取数据框行中的可读数据呢?

标签: pythonpandasstringdataframedatetime

解决方案


您可以使用 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

推荐阅读