Тестирование, если значение содержится в Pandas Series со смешанными типами - PullRequest
0 голосов
/ 27 апреля 2018

У меня есть серия панд, например: x = pandas.Series([-1,20,"test"]).

Теперь я хотел бы проверить, содержится ли -1 в x без зацикливания всей серии. Я мог бы преобразовать всю серию в строку, а затем проверить, если "-1" in x, но иногда у меня -1, а иногда -1 и т. Д., Так что это не лучший выбор.

Есть ли другая возможность подойти к этому?

Ответы [ 3 ]

0 голосов
/ 27 апреля 2018
x.isin([-1])

дает мне:

0     True
1    False
2    False
dtype: bool

Вы можете обратиться к документам для получения дополнительной информации.

0 голосов
/ 27 апреля 2018

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

x = pd.Series([-1,20,"test","-1.0"])

print(x)

0      -1
1      20
2    test
3    -1.0
dtype: object

(pd.to_numeric(x, errors='coerce') == -1).sum()

Примечание. Любое значение, которое может быть преобразовано в число, возвращает NaN.

выход

2

Если вы просто хотите увидеть, появляется ли -1 в x, тогда вы можете использовать

(pd.to_numeric(x, errors='coerce') == -1).sum() > 0

Выход:

True
0 голосов
/ 27 апреля 2018

А как же

x.isin([-1])

выход:

0     True
1    False
2    False
dtype: bool

Или, если вы хотите подсчитать, сколько экземпляров:

x.isin([-1]).sum()

Выход:

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