У меня есть фрейм данных pandas, который индексируется отдельно, и я хотел бы выбрать ячейку на основе значений двух столбцов в строке.Вот простой пример:
>>> import pandas as pd
>>> data_dict = {'A':[11,11], 'B':[22,33], 'C':[44,55]}
>>> df = pd.DataFrame.from_dict(data_dict)
>>> df
A B C
0 11 22 44
1 11 33 55
Учитывая значение для A и B, я хочу получить значение для C. Например, если я знаю A==11
и B==22
, я хочу получить 44
.Мой вопрос:
Каков наилучший способ сделать это, сохранив индекс кадра данных как есть?
Я знаю, что могу сделать это через переменные атрибуты, но яЯ не уверен, что это самый простой.Это выглядит так беспорядочно:
>>> df[(df['A']==11) & (df['B']==22)]['C'].item()
44
Я также знаю чистый способ временного создания мультииндекса, как показано ниже, но я чувствую, что упускаю что-то простое в данных, если не могу получить 44
из отдельно индексируемого фрейма данных без такого сложного запроса.
>>> df2 = df.set_index(['A','B'])
>>> df2
C
A B
11 22 44
33 55
>>> df2.loc[11,22].item()
44
Спасибо!