Pandas 为什么要设置包含日期的行的格式?

Pandas 为什么要设置包含日期的行的格式?,pandas,Pandas,我有一个excel文件,其结构如下 x y z toto 13/12/20 13/12/20 13/12/20 titi 1 2 3 tata 4 5 6 其中,行toto包含日期。当使用pandas.read_excel读取此类数据时,我得到以下数据框: x y

我有一个excel文件,其结构如下

            x        y        z
toto 13/12/20 13/12/20 13/12/20
titi        1        2        3
tata        4        5        6
其中,行
toto
包含日期。当使用pandas.read_excel读取此类数据时,我得到以下数据框:

                       x                    y                    z
toto 2020-12-13 00:00:00  2020-12-13 00:00:00  2020-12-13 00:00:00
titi                   1                    2                    3
tata                   4                    5                    6

当保存回excel时,将生成不再被解释为有效日期的单元格。我知道有一种方法可以使用
parse_dates
date_parser
关键字来读取日期,但这些方法适用于列而不是行。您知道如何让pandas正确地解释这些行吗?

同时,也有一种方法可以按照您需要的格式直接读取日期。有一种相当简单的方法可以使用双转置(T,两次)并将日期格式化为您所需的格式:

import pandas as pd

data = {
"x":["2020-12-13 00:00:00",1,4],
"y":["2020-12-13 00:00:00",2,5],
"z":["2020-12-13 00:00:00",3,6]
}

idx = ['toto', 'titi', 'tata']

df = pd.DataFrame(data, index = idx)

print(df)

最终输出:

             x         y         z
toto  13/12/20  13/12/20  13/12/20
titi         1         2         3
tata         4         5         6

很乐意帮忙!。如果这对你有帮助,就把分数看作是“答案”和“投票”。
df1 = df.T

df1['toto'] = pd.to_datetime(df1['toto'], infer_datetime_format=True)
df1['toto'] = df1['toto'].dt.strftime('%d/%m/%y')

df_final = df1.T

print(df_final)
             x         y         z
toto  13/12/20  13/12/20  13/12/20
titi         1         2         3
tata         4         5         6