Мне интересно, есть ли в Python эквивалентный код, который предлагает те же функции, что и tsset
и tsfill, full
в Stata.
Из руководства Stata описание tsset
выглядит следующим образом:
tsset
объявляет данные в памяти временными рядами
Из руководства Stataописание tsfill, full
выглядит следующим образом:
tsfill
используется после tsset
для заполнения пробелов в данных временных рядов и пробелов в данных панели новыми наблюдениями, которые содержат пропущенные значения.Например, возможно, наблюдения для timevar
= 1, 3, 5, 6,.,,22 существует.tsfill
создаст наблюдения для timevar
= 2 и timevar
= 4, содержащие все пропущенные значения.
Пример данных:
data = {'date': ['2014-05-01','2014-05-01','2014-05-01','2014-05-01',
'2014-05-02','2014-05-02','2014-05-02','2014-05-03',
'2014-05-03','2014-05-03'],'id':[1, 2, 3, 4, 1,
2, 3, 1, 2, 4],'obs': [10, 5, 7, 3, 2,4, 3, 8, 6, 11]}
df = pd.DataFrame(data, columns = ['date', 'id','obs'])
df.index = df1['date']
del df['date']
df
id obs
date
2014-05-01 1 10
2014-05-01 2 5
2014-05-01 3 7
2014-05-01 4 3
2014-05-02 1 2
2014-05-02 2 4
2014-05-02 3 3
2014-05-03 1 8
2014-05-03 2 6
2014-05-03 4 11
В Stata вы будете использовать tsset id date
чтобы объявить данные временными рядами, вы должны использовать tsfill, full
для преобразования данных в следующее:
id
4 в date
2014-05-02 и id
3 в date
2014-05-03 теперь отображаются в фрейме данных
id obs
date
2014-05-01 1 10
2014-05-01 2 5
2014-05-01 3 7
2014-05-01 4 3
2014-05-02 1 2
2014-05-02 2 4
2014-05-02 3 3
2014-05-02 4 .
2014-05-03 1 8
2014-05-03 2 6
2014-05-03 3 .
2014-05-03 4 11
Есть ли в Python эквивалентный код для выполнения того же вывода, что и Stata?