Извлечение данных из фрейма данных на основе двух критериев - PullRequest
0 голосов
/ 18 июня 2020

В следующем примере.

d = {'col1': [1, 2, 3], 'col2': [6, 7]}

df = pd.DataFrame(data=d)

df
   col1  col2
0     1     6
1     2     7

newdf[df['col1' ==2]

newdf

   col1  col2
0     2     7

Отлично работает для одного столбца

, но

newdf[df['col1' ==2 & 'col2' == 7]

Я выигрываю приз за ошибку.

Ответы [ 2 ]

0 голосов
/ 18 июня 2020

У вас опечатка в выписке. Логический оператор and в python - это

and

Ваше утверждение должно быть

>>> newdf[df[('col1' == 2) & ('col2' == 7)]

Спасибо @Trenton за замечание.

0 голосов
/ 18 июня 2020
  • Ни одно из следующего не является правильным

    • newdf[df['col1' ==2]
    • newdf[df['col1' ==2 & 'col2' == 7]
    • newdf[df['col1' == 2 && 'col2' == 7]
  • Круглые скобки должны быть вокруг каждого условия

  • Pandas: логическая индексация
import pandas as pd

d = {'col1': [1, 2, 3, 2], 'col2': [6, 7, 8, 9]}
df = pd.DataFrame(data=d)

   col1  col2
0     1     6
1     2     7
2     3     8
3     2     9

# specify multiple conditions
newdf = df[(df.col1 == 2) & (df.col2 == 7)]
print(newdf)

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