Как искать элемент в кадре данных Python, содержащий набор для элемента - PullRequest
0 голосов
/ 10 апреля 2019

Я пытаюсь найти в фрейме данных Python элементы в наборе, где каждый элемент в фрейме данных содержит набор или NaN.

codes - это набор, который выглядит так:

{8.5,
 8.7,
 10.0,
 8.0,
 8.52,
...
 31.1}

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

Информационный кадр содержит ок. 800 столбцов и 500 000 строк. Каждый элемент кадра данных является набором, например, {859,0, 10,0} или NaN

Как искать в кадре данных каждый из кодов в codes?

Первоначально у меня был массив данных, содержащий массивы вместо наборов. С этим я мог бы сделать dataframe.isin(codes), который вернул фрейм данных всего False. isin работает быстро, и я пробовал его для каждого столбца кадра данных, но кажется, что он не может прочитать внутри массива и поэтому возвращает False при попытке сопоставления.

Я пытался:

for column in dataframe.columns:
    dataframe[column].apply(pd.Series)

, чтобы разбить массив на отдельные столбцы, а затем выполните isin, чтобы найти codes. Это работало, но было очень медленно (потребовались дни, чтобы запустить часть pd.Series).

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...