L oop среди столбцов в наборе данных в Python - PullRequest
0 голосов
/ 08 апреля 2020

Прежде всего, я использую общедоступную базу данных c, которую можно получить с помощью этого кода (из GitHub):

url = 'https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv'

df_globalcases = pd.read_csv(url, index_col=0)

Эта база содержит название стран и количество Covid-19 подтвержденных случаев у них есть с 2020/01/22 и далее. Каждый столбец даты содержит количество случаев, подтвержденных до этого дня (например, в 2020/01/22 у меня было 3 случая и в 2020/01/23 у меня было 4, количество случаев в 2020/01/23 равно 7. Так что он продолжает идти и продолжает добавлять дела по прошествии времени).

Я хочу сделать следующее: получить количество дел, которые произошли только за день, что означает, что мне нужно будет сделать al oop, чтобы вычесть идущие числа в прошлом (например, 2020/04/06 - 2020/04/05 дает мне количество случаев, подтвержденных только в 2020/04/06), и я должен был бы сделать это для каждого столбца даты в наборе данных до I добраться до 2020/01 / 22.

И вот в чем проблема, я не знаю, как это сделать. Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 08 апреля 2020

Вы можете использовать diff() для вычитания из каждого столбца значений в предыдущем столбце, см. Документацию pandas .

import pandas as pd

url = 'https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv'

df = pd.read_csv(url, index_col=0)

df.iloc[:, 3:] = df.iloc[:, 3:].diff(axis=1)

...