Как получить строки только из некоторых столбцов на основе значения столбцов в Pandas? - PullRequest
0 голосов
/ 10 апреля 2020

Я использую Pandas, чтобы получить данные из Excel. Из этих таблиц мне часто нужно находить одно или несколько значений только в одной строке на основе значения в столбце. Я много читал о Pandas (do c и SO), и почти каждый раз вопрос звучит так: «Как выбрать * FROM df WHERE value = smthing». Но то, что я хотел бы сделать, это больше похоже на:

SELECT Col1, Col2
FROM df
WHERE Col3.value = smthing

И я не могу найти никакого ответа.

Например:

>>> dataFrame

   foo  bar  sm_else
0    0    3        6
1    1    4        7
2    2    5        8

Я хочу получить значение foo и значение sm_else, когда bar == 4. Итак:

foo  sm_else
1       7

Результатом может быть DataFrame или может быть списком или диктом, мне все равно.

Спасибо!

Как мне этого добиться?

Ответы [ 2 ]

3 голосов
/ 10 апреля 2020

df.lo c может помочь вам

import pandas as pd

df = pd.DataFrame(data={'col1': [1, 2, 3], 
                        'col2': [4, 5, 6], 
                        'col3': [7, 8, 9]})
print(df.loc[df['col2'] == 4][['col1', 'col2']])
2 голосов
/ 10 апреля 2020
df.loc[df.bar == 4, ['foo', 'sm_else']]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...