Шутить / ожидать & ldquo; toEquals & rdquo; сбой с неопределенными свойствами

tl; dr

Панда, эквивалентная

select * from table where column_name = some_value

, является

table[table.column_name == some_value]

Множественные условия:

table[(table.column_name == some_value) | (table.column_name2 == some_value2)]

или

table.query('column_name == some_value | column_name2 == some_value2')

Пример кода

import pandas as pd

# Create data set
d = {'foo':[100, 111, 222], 
     'bar':[333, 444, 555]}
df = pd.DataFrame(d)

# Full dataframe:
df

# Shows:
#    bar   foo 
# 0  333   100
# 1  444   111
# 2  555   222

# Output only the row(s) in df where foo is 222:
df[df.foo == 222]

# Shows:
#    bar  foo
# 2  555  222

В приведенном выше коде это строка df[df.foo == 222], которая дает строки на основе значения столбца, 222 в этом case.

Возможны также множественные условия:

df[(df.foo == 222) | (df.bar == 444)]
#    bar  foo
# 1  444  111
# 2  555  222

Но в этот момент я бы рекомендовал использовать функцию query , так как он менее подробный и дает тот же результат:

df.query('foo == 222 | bar == 444')
0
задан LazerBass 18 January 2019 в 20:28
поделиться

1 ответ

А. Я идиот. В шутке нет ничего плохого, тест не пройден. Я неправильно прочитал вывод Джеста.

Это говорит весь объект:

-   Object {
-     "attributes": Array [],
-     "destination": "_c",
-     "kind": "kind",
-     "linkable": "Unlinkable",
-     "source": "_a",

Отсутствует в массиве. Хотя он также сообщает о undefined как о разнице, это не то, что приводит к провалу toEqual. Обратите внимание, что destination отличается. Тест должен возвращать два объекта.

0
ответ дан Joe 18 January 2019 в 20:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: