次のようなデータフレームがあるとします
文字番号 1 1 B2 ... C3 3 10 11 12 13 14 15 16 17 18 19 20 30 40 50 60 70 80 90 90 10 10 21 22 33 45 80 90 10 12 13 24 36 47 80 10 14 26 38 49 90 10 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 世紀 名前: 文字、データ型: オブジェクト
2 行の出力全体ではなく、値 C のみを取得するにはどうすればよいでしょうか?
ベストアンサー1
df[df.Letters=='C'].Letters.item()
これは、その選択から返されたインデックス/シリーズの最初の要素を返します。この場合、値は常に最初の要素になります。
編集:
または、loc() を実行して、その方法で最初の要素にアクセスすることもできます。これはより短く、私が過去に実装した方法です。