Как выбрать конкретную строку и столбец

#python #pandas

Вопрос:

Я хочу получить значение из столбца «классификация» второй строки.

У меня есть : id = ‘D1-0021’; LeftRight = ‘R’

Поэтому с помощью этой информации я хочу, чтобы результат соответствовал соответствующей колонке классификации.

Могут ли некоторые объяснить панд, как сделать что-то вроде :

 table.loc['D1-0021', where 'LeftRight' == R] get value['classification']
 

соответствующий вывод: «Доброкачественный»

        LeftRight  Age  number    abnormality classification subtype
id                                                                  
D1-0021         L   22       2  calcification         Benign     NaN
D1-0021         R   22       2  calcification         Benign     NaN
 

Ответ №1:

Если вы просто хотите получить данные:

 df.query('id=="D1-0021" amp; LeftRight=="R"')['classification']
 

Выход:

 id
D1-0021    Benign
Name: classification, dtype: object
 

И чтобы получить строку конкретно, используйте .item() :

 df.query('id=="D1-0021" amp; LeftRight=="R"')['classification'].item()
 

Или:

 # query to filter data
# loc to access the value:
df.query('LeftRight=="R"').loc['D1-0021','classification']
 

Обновление: при R поступлении из переменной:

 var = 'R'

df.query('LeftRight==@var').loc['D1-0021','classification']
 

Комментарии:

1. Если «R» происходит от переменной, например : leftOrRight = «R». Как заменить букву «R» на имя переменной ?

2. Спасибо! Вы не знаете, где я могу поговорить об этом ? Я не знаю, что для этого набирать в Google ^^’

3. @AubreyDekker официальные документы по запросу и индексации -хорошее начало.

Ответ №2:

Чтобы выбрать строки, значение столбца которых равно скаляру, some_value, используйте ==:

 df.loc[df['column_name'] == some_value]
 

в приведенном ниже примере должно быть так:

 table.loc[D1-0021['classification '] == Benign]
 

Комментарии:

1. В моем случае я хочу знать значение «классификация», зная только «идентификатор» и «левый»

2. Ах, хорошо, тогда вы могли бы использовать столбец идентификаторов. Я рад, что ты тогда сделал это.