代码之家  ›  专栏  ›  技术社区  ›  harish chava

熊猫数据框中的日期格式自动更改[重复]

  •  0
  • harish chava  · 技术社区  · 7 年前

    我学习巨蟒(3.6与蟒蛇)为我的研究。

    我使用pandas导入带有两列的XLS文件:日期(dd-mm-yyyy)和价格。 但熊猫改变了日期格式:

    xls_file = pd.read_excel('myfile.xls')
    print(xls_file.iloc[0, 0])
    

    我得到:

    2010-01-04 00:00:00
    

    而不是:

    04-01-2010     or at least :  2010-01-04  
    

    我不知道为什么会添加hh:mm:ss,我从日期列中得到的每一行的结果都相同。我也试过用不同的方法来计算日期时间,但它没有解决问题。

    知道吗?

    谢谢

    0 回复  |  直到 8 年前
        1
  •  0
  •   Yannis P.    8 年前

    您需要定义 datetime 值被打印出来。也许有一种更优雅的方法可以做到这一点,但类似的方法会奏效:

    In [11]: df
    Out[11]:
       id       date
    0   1 2017-09-12
    1   2 2017-10-20
    
    # Specifying the format
    In [16]: print(pd.datetime.strftime(df.iloc[0,1], "%Y-%m-%d"))
    2017-09-12
    

    如果要将日期存储为特定格式的字符串,则还可以执行以下操作:

    In [17]: df["datestr"] = pd.datetime.strftime(df.iloc[0,1], "%Y-%m-%d")
    In [18]: df
    Out[18]:
       id       date     datestr
    0   1 2017-09-12  2017-09-12
    1   2 2017-10-20  2017-09-12
    
    In [19]: df.dtypes
    Out[19]:
    id                  int64
    date       datetime64[ns]
    datestr            object
    dtype: object