pandas.DataFrame.eq#

DataFrame.eq(other, ось='columns', уровень=None)[источник]#

Получить равенство dataframe и other, поэлементно (бинарный оператор eq).

Среди гибких оберток (eq, ne, le, lt, ge, gt) к операторам сравнения.

Эквивалентно ==, !=, <=, <, >=, > с поддержкой выбора оси (строки или столбцы) и уровня для сравнения.

Параметры:
otherскаляр, последовательность, Series или DataFrame

Любая структура данных с одним или несколькими элементами, или объект, подобный списку.

ось{0 или 'index', 1 или 'columns'}, по умолчанию 'columns'

Сравнивать по индексу (0 или 'index') или по столбцам (1 или 'columns').

уровеньцелое число или метка

Трансляция по уровню, сопоставляя значения индекса на переданном уровне MultiIndex.

Возвращает:
DataFrame из bool

Результат сравнения.

Смотрите также

DataFrame.eq

Сравните DataFrames на равенство поэлементно.

DataFrame.ne

Сравните DataFrames на неравенство поэлементно.

DataFrame.le

Сравнить DataFrame на неравенство или равенство поэлементно.

DataFrame.lt

Сравнение DataFrame на строгое неравенство поэлементно.

DataFrame.ge

Сравните DataFrames на предмет неравенства или равенства поэлементно.

DataFrame.gt

Сравнение DataFrame на строгое неравенство 'больше' поэлементно.

Примечания

Несовпадающие индексы будут объединены. NaN значения считаются разными (т.е. NaN != NaN).

Примеры

>>> df = pd.DataFrame({'cost': [250, 150, 100],
...                    'revenue': [100, 250, 300]},
...                   index=['A', 'B', 'C'])
>>> df
   cost  revenue
A   250      100
B   150      250
C   100      300

Сравнение со скаляром, используя либо оператор, либо метод:

>>> df == 100
    cost  revenue
A  False     True
B  False    False
C   True    False
>>> df.eq(100)
    cost  revenue
A  False     True
B  False    False
C   True    False

Когда other является Series, столбцы DataFrame выравниваются с индексом other и трансляцию:

>>> df != pd.Series([100, 250], index=["cost", "revenue"])
    cost  revenue
A   True     True
B   True    False
C  False     True

Используйте метод для управления осью вещания:

>>> df.ne(pd.Series([100, 300], index=["A", "D"]), axis='index')
   cost  revenue
A  True    False
B  True     True
C  True     True
D  True     True

При сравнении с произвольной последовательностью количество столбцов должно соответствовать количеству элементов в other:

>>> df == [250, 100]
    cost  revenue
A   True     True
B  False    False
C  False    False

Используйте метод для управления осью:

>>> df.eq([250, 250, 100], axis='index')
    cost  revenue
A   True    False
B  False     True
C   True    False

Сравнить с DataFrame другой формы.

>>> other = pd.DataFrame({'revenue': [300, 250, 100, 150]},
...                      index=['A', 'B', 'C', 'D'])
>>> other
   revenue
A      300
B      250
C      100
D      150
>>> df.gt(other)
    cost  revenue
A  False    False
B  False    False
C  False     True
D  False    False

Сравнить с MultiIndex по уровню.

>>> df_multindex = pd.DataFrame({'cost': [250, 150, 100, 150, 300, 220],
...                              'revenue': [100, 250, 300, 200, 175, 225]},
...                             index=[['Q1', 'Q1', 'Q1', 'Q2', 'Q2', 'Q2'],
...                                    ['A', 'B', 'C', 'A', 'B', 'C']])
>>> df_multindex
      cost  revenue
Q1 A   250      100
   B   150      250
   C   100      300
Q2 A   150      200
   B   300      175
   C   220      225
>>> df.le(df_multindex, level=1)
       cost  revenue
Q1 A   True     True
   B   True     True
   C   True     True
Q2 A  False     True
   B   True    False
   C   True    False