Панды: заполнить недостающие данные в столбцах фрейма данных - PullRequest
0 голосов
/ 05 апреля 2019

У меня есть следующий pandas фрейм данных:

import numpy as np
import pandas as pd
timestamps = [1, 14, 30]
data = dict(quantities=[1, 4, 9], e_quantities=[1, 2, 3])
df = pd.DataFrame(data=data, columns=data.keys(), index=timestamps)

, который выглядит следующим образом:

    quantities  e_quantities
1            1             1
14           4             2
30           9             3

Однако timestamps должен работать от 1 до 52:

index = pd.RangeIndex(1, 53)

Следующая строка содержит timestamps, которые отсутствуют:

series_fill = pd.Series(np.nan, index=index.difference(df.index)).sort_index()

Как получить столбцы quantities и e_quantities, чтобы иметь значения NaN приэти отсутствующие метки времени?

Я пробовал:

df = pd.concat([df, series_fill]).sort_index()

, но добавляет еще один столбец (0) и меняет порядок исходного кадра данных:

     0  e_quantities  quantities
1  NaN           1.0         1.0
2  NaN           NaN         NaN
3  NaN           NaN         NaN

Спасибо за любую помощь.

1 Ответ

3 голосов
/ 05 апреля 2019

Я думаю, что вы ищете reindex

df=df.reindex(index)
...