Pandas: найти строку с ndarray - PullRequest
       1

Pandas: найти строку с ndarray

1 голос
/ 15 апреля 2020

Я не знаком с Panda.

Чтобы найти все строки с определенным значением, я могу запустить

data[data['category'] == 'name']

, который вернет Серию, как и ожидалось.

Один из моего столбца - массив 1x2 numpy. Однако, если я сделаю

data[data['list'] == np.array([0, 0])] 

, я получу ValueError: длины должны совпадать, чтобы сравнить

Как мне найти строку с определенным массивом numpy в нем?

1 Ответ

0 голосов
/ 15 апреля 2020

Вы можете использовать apply с функцией lambda, например df[df.list.apply(lambda x: (x == c).all())]

Пример.

>>> df
     list
0  [0, 0]
1  [1, 1]
2  [0, 0]
3  [1, 0]

>>> c
array([0, 0])

>>> df.list.apply(lambda x: x == c)
0      [True, True]
1    [False, False]
2      [True, True]
3     [False, True]
Name: list, dtype: object

>>> df.list.apply(lambda x: (x == c).all())
0     True
1    False
2     True
3    False
Name: list, dtype: bool

>>> df[df.list.apply(lambda x: (x == c).all())]
     list
0  [0, 0]
2  [0, 0]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...