【问题标题】:pd.datetime not indexing correctlypd.datetime 没有正确索引
【发布时间】:2019-06-26 10:51:37
【问题描述】:

我有餐厅每笔交易日期的数据集。我尝试将日期设置为索引,然后用 df.to_datetime 进行转换:

df['dateTransaction'] = pd.to_datetime(df['dateTransaction'])
df.info()

我真的得到了 datetime64[ns] 的“dateTransaction”类型。但是我尝试使用 df = df.set_index('dateTransaction') 设置索引 但我的数据集没有按日期正确排序。 enter image description here 请建议如何以排序方式按日期索引数据帧?

【问题讨论】:

标签: pandas datetime indexing


【解决方案1】:

如果你是从 CSV 读取的,你也可以试试

data=pd.read_csv('SomeData.csv',index_col=['Date'],parse_dates=['Date'],dayfirst=True)

如果没有dayfirst=True,则将天数读取为月份,反之亦然

【讨论】:

    【解决方案2】:

    当您set_index 它从不重新排列行时,它只是将一列“移动”到索引。所以你必须明确排序(在set_index之前或之后):

    df = df.set_index('dateTransaction').sort_index()
    # or
    df = df.sort_values("dateTransaction").set_index('dateTransaction')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-21
      • 1970-01-01
      • 2017-07-31
      • 2019-12-02
      • 2023-03-22
      • 2018-09-16
      • 1970-01-01
      相关资源
      最近更新 更多