Добавление самых последних данных во фрейм данных Pandas - PullRequest
0 голосов
/ 12 января 2019

Я пытаюсь создать и поддерживать в актуальном состоянии фрейм данных / временной ряд, в котором я собираю данные из таблицы веб-сайта и хочу взять самые последние данные и добавить к уже полученным данным , Пример того, как выглядит фрейм данных:

   Date      Price
0  10/01/19  100
1  09/01/19  95
2  08/01/19  96
3  07/01/19  97

Затем я хочу запустить мою маленькую программу и определить, что мне не хватает данных за 11 и 12 января, а затем добавить ее в верхнюю часть фрейма данных. Мне вполне комфортно скомпилировать фрейм данных с использованием .read_html и вообще построить фрейм данных, но в настоящее время это немного выходит за рамки моих талантов.

Я знаю, что готово показать вам то, что я до сих пор пытался, но, честно говоря, я на самом деле не знаю, с чего начать.

Большое спасибо

1 Ответ

0 голосов
/ 12 января 2019

Допустим, старый фрейм данных называется df, который выглядит следующим образом:

    Date        Price
0   2019-01-10  100
1   2019-01-09  95
2   2019-01-08  96
3   2019-01-07  97

Через 2 дня вы загружаете данные, которые дают вам 2 строки для 2019-01-11 и 2019-01-12, давайте назовем их new_df (значения приведены в качестве примеров):

    Date        Price
0   2019-01-12  67
1   2019-01-11  89
2   2019-01-10  100
3   2019-01-09  95

Примечание : в новом df есть несколько значений, которые присутствуют в старом df.

Использование df.append(), df.drop_duplicates() и df.sort_values(): -

>>df.append(new_df,ignore_index=True).drop_duplicates().sort_values(by='Date',ascending=False)

    Date        Price
4   2019-01-12  67
5   2019-01-11  89
0   2019-01-10  100
1   2019-01-09  95
2   2019-01-08  96
3   2019-01-07  97

Это добавит новые значения и отсортирует их в порядке убывания на основе столбца Date с самой последней датой в верхней части.

если вы хотите отсортировать индекс, просто добавьте sort_index() в конце: df.append(new_df,ignore_index=True).drop_duplicates().sort_values(by='Date',ascending=False).sort_index()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...