Что делает функция np.isreal в кадре данных? - PullRequest
0 голосов
/ 20 октября 2018

Может кто-нибудь объяснить приведенный ниже код?

pima_df[~pima_df.applymap(np.isreal).all(1)]

pima_df - это фрейм данных.

Ответы [ 2 ]

0 голосов
/ 20 октября 2018

Вы извлекаете строки, в которых встречается хотя бы одно комплексное число.

Например: pima_df =

    a   b
0   1   2
1   2   4+3j
2   3   5

Результат будет:

    a   b
1   2   (4+3j)

короче:

applymap - применить функцию к каждому элементу фрейма данных.

np.isreal - вернуть true для реального, иначе false

all - вернуть true, если каждыйэлемент вдоль оси имеет значение true, в противном случае - false.

~ - отменяет логический индекс

0 голосов
/ 20 октября 2018

Пожалуйста, посмотрите на документ или справку (np.isreal).

Returns a bool array, where True if input element is real.

If element has complex type with zero complex part, the return value
for that element is True.

Чтобы быть точным Numpy Предоставляет набор методов для сравнения и выполнения операций над массивами поэлементно:

np.isreal : Determines whether each element of array is real.
np.all :    Determines whether all array element of a specific array evaluate to True.
tilde(~) :  used for Boolean indexing which means not.
applymap:   applymap works element-wise on a DataFrame.
all()   :   used to find rows where all the values are True.

Символ ~ эквивалентен оператору invert , который был явно переопределен с целью выполнения векторизованных логических инверсий для объектов pd.DataFrame / pd.Series.

Примерлогического индекса (~):

>>> df 
    a  b  c  d
0   a  a  2  6
1   a  a  4  7
2   b  a  1  6
3   b  a  2  1
4   c  b  3  6
5   c  b  0  2
6   d  b  3  3
7   d  b  2  1
8   e  c  4  3
9   e  c  2  0
10  f  c  0  6
11  f  c  1  2

>>> df.query('a in b')
   a  b  c  d
0  a  a  2  6
1  a  a  4  7
2  b  a  1  6
3  b  a  2  1
4  c  b  3  6
5  c  b  0  2

ИЛИ

>>> df[~df.a.isin(df.b)]    # same as above
    a  b  c  d
6   d  b  3  3
7   d  b  2  1
8   e  c  4  3
9   e  c  2  0
10  f  c  0  6
11  f  c  1  2

надеюсь, это поможет.

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