Вставить строку в фрейм данных с индексом i - PullRequest
1 голос
/ 27 мая 2019

Мне нужна ваша помощь по проблеме с пандами:

В настоящее время я извлекаю данные через API, в которых есть пробелы.

Однако мне нужно учесть их в наборе данных, заменив их средним значением.

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

Иллюстрация:

Вот как выглядит моя проблема:

   rank timestamp value
0    1     21:50  3450
1    4     21:40  3442
2    5     21:41  5964
3    6     14:27  5258
4    7     13:10  3001
5    8     14:02  2782

ранги 2 и 3 отсутствуют

Итак, вот что я пытаюсь получить:

   rank timestamp value
0    1     21:50  3450
1    2      NaN   avg
2    3      NaN   avg
3    4     21:40  3442
4    5     21:41  5964
5    6     14:27  5258
6    7     13:10  3001
7    8     14:02  2782

Я приблизительно знаю, как обращаться со столбцами, но не знаю, как обращаться со строками.

У вас есть идея?

Я уже пытался использовать "append", но мне трудно переиндексировать мой фрейм данных: /

Спасибо за помощь? :)

1 Ответ

2 голосов
/ 27 мая 2019

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

df = df.set_index('rank').reindex(np.arange(df['rank'].min(), df['rank'].max()+1)).reset_index()
df['value'] = df['value'].fillna(df['value'].mean()).round()


    rank    timestamp   value
0   1       21:50       3450
1   2       NaN         3982
2   3       NaN         3982
3   4       21:40       3442
4   5       21:41       5964
5   6       14:27       5258
6   7       13:10       3001
7   8       14:02       2782
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...