Почему первая функция Pandas Dataframe (DataFrame.first ("2D")) с соответствующим значением смещения возвращает пустое значение? - PullRequest
0 голосов
/ 29 мая 2020

Допустим, у меня есть DataFrame со столбцом даты, и я решил установить этот столбец в качестве индекса для выполнения операции временного ряда. Вызов DataFrame.first («1M») возвращает пустой фрейм данных, а DataFrame.last («1M») возвращает все данные даже после сортировки индекса с помощью DataFrame.sort_index (). Фактически, вызов DataFrame.sort_index () вызывает такое поведение, поскольку оно работает должным образом, если я не вызываю sort_index (). Например:

    import pandas as pd
    df = pd.DataFrame({"1":[1,2,3], "2":[2,3,4], "date":["2020-05-29", "2020-05-24", "2020-05-27"]})
    df["date"] = pd.to_datetime(df["date"])
    print(df)
    df = df.set_index("date").sort_index(ascending=False)
    print(df.first("2D"))

1 Ответ

0 голосов
/ 29 мая 2020

Поскольку sort_index() на фрейме данных вызывает поведение,
мы можем отсортировать фрейм данных перед сбросом индекса.

import pandas as pd

df = pd.DataFrame({"1": [1, 2, 3], "2": [2, 3, 4], "date": ["2020-05-29", "2020-05-24", "2020-05-27"]})

df["date"] = pd.to_datetime(df["date"])

df = df.sort_values(by='date').set_index("date")

print(df.first("2D"))
date            
2020-05-24  2  3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...