Выберите строки в DataFrame на основе значений списка в столбце в пандах - PullRequest
0 голосов
/ 11 мая 2018

Я новичок в pandas, у меня есть простой фрейм данных и я хочу извлечь определенные строки на основе столбца.Однако тип в этом столбце является списком .

Пример:

df = pd.DataFrame([['text1', [1,2,3]], ['text2', [2,3,4]]], columns=['text','list_value'])

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

    text    list_value
0   text1   [1, 2, 3]
1   text2   [2, 3, 4]

Iпробовал

df.loc[df['list_value'] == [1,2,3]]

И он возвращает ошибку:

ValueError: Arrays were different lengths: 2 vs 3

Интересно, есть ли лучшее решение, чем использование цикла for для итерации кадра данных.

Подобный вопросно решение не работает для меня: Выберите строки в DataFrame на основе значений в столбце в пандах .

1 Ответ

0 голосов
/ 11 мая 2018

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

df.loc[df['list_value'].apply(tuple) == tuple([1,2,3])]
Out[58]: 
    text list_value
0  text1  [1, 2, 3]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...