1. ホーム
  2. python

[解決済み] Pandas DataFrameからインデックスやオブジェクト型ではなく、値を取得する方法

2022-05-01 11:37:15

質問

次のようなDataFrameがあるとします。

文字番号
A 1
B 2
C 3
D 4

これは、次のコードで得ることができます。

import pandas as pd

letters=pd.Series(('A', 'B', 'C', 'D'))
numbers=pd.Series((1, 2, 3, 4))
keys=('Letters', 'Numbers')
df=pd.concat((letters, numbers), axis=1, keys=keys)

今度は、列Lettersから値Cを取得したい。

コマンドライン

df[df.Letters=='C'].Letters

を返します。

2 C
名前 文字, dtype: オブジェクト

どうすれば、2行の出力全体ではなく、値Cだけを得ることができるのでしょうか?

どのように解決するのですか?

df[df.Letters=='C'].Letters.item()

その選択範囲から返されるIndex/Seriesの最初の要素を返します。この場合、値は常に最初の要素になります。

EDITです。

あるいは、loc()を実行し、その方法で最初の要素にアクセスすることもできます。この方が短くて済みますし、私が過去に実装した方法です。