У вас есть несколько вариантов.Обратите внимание, что ниже не включена обработка ошибок.Предполагается, что данное имя существует.
pd.DataFrame.loc
+ pd.Series.values
Это позволяет получить доступ к базовому массиву NumPy и извлечь первый элемент:
df.loc[df['Name'] == 'john', 'email'].values[0]
pd.DataFrame.at
Установите индекс на Name
, затем используйте at
.Предполагается, что ваши имена уникальны, иначе скалярный доступ таким образом может не иметь смысла.
df.set_index('Name').at['john', 'email']
Если вы делаете это часто, я рекомендую хранить df.set_index('Name')
, чтобы избежать дорогостоящих повторных операций.
pd.Series.loc
Аналогично первому решению, но с использованием pd.Series
методов:
df['email'].loc[df['Name'].eq('john').index[0]]