Эффективное преобразование большого фрейма данных Pandas в список - PullRequest
0 голосов
/ 06 сентября 2018

Я хотел бы преобразовать первые 50 элементов в большом фрейме данных pandas в список, чтобы для каждого индекса в фрейме данных этот список имел значение. И даже если у фрейма данных нет значений в этом индексе, я бы хотел, чтобы в списке было значение 0. Например, кадр данных панд, который выглядит следующим образом:

ID      Count
0       20
1       50
2       60
4       90
5       20
.
49      65
.
9999999 60054

будет преобразовано в следующий список, причем релевантными будут только первые 50 элементов кадра данных:

[20, 50, 60, 0, 90, 20......,65]

Обратите внимание, что при index = 3 значение в списке равно 0, поскольку идентификатор не был найден в кадре данных pandas.

Ответы [ 2 ]

0 голосов
/ 06 сентября 2018

IIUC:

d = df.query('ID < 5')
m = dict(zip(*map(d.get, d)))
[m.get(i, 0) for i in range(5)]

[20, 50, 60, 0, 90]
0 голосов
/ 06 сентября 2018

Если я правильно понимаю:

mylist = (df.iloc[:50].set_index('ID')
          .reindex(range(50), fill_value=0)['Count']
          .tolist())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...