列Aのある値を検索、隣の列の値を取得する

投稿者: | 2022-06-03
name = ['name_' + str for str in list('ABC')]
value = np.random.randint(1, 10, 3)
df = pd.DataFrame(
      dict(Name=name, Value=value))

     Name  Value
0  name_A      3
1  name_B      9
2  name_C      6

列Nameが「name_A」の場合、その隣の列Valueの値を取得する(これがベストかは不明)

df[df['Name'] == 'name_A']['Value'].tolist()[0]
# 3

# または

df.query('Name == "name_A"').Value.tolist()[0]
# 3

関数にするなら

def get_value_from_name(name):
  value = df.query('Name == @name')['Value'].tolist()[0]
  return value