1. ホーム
  2. python

[解決済み] インデックスを知らずにシリーズの最初の要素を取得する [重複].

2023-01-20 22:51:22

質問

インデックスの情報がなくても、Seiresの最初の要素を取得する方法はないでしょうか。

例えば、次のようなシリーズがあります。

    import pandas as pd
    key='MCS096'
    SUBJECTS=pd.DataFrame({'ID':Series([146],index=[145]),\
                   'study':Series(['MCS'],index=[145]),\
                   'center':Series(['Mag'],index=[145]),\
                   'initials':Series(['MCS096'],index=[145])
                   })

はSUBJECTSをプリントアウトします。

    print (SUBJECTS[SUBJECTS.initials==key]['ID'])
    145    146
    Name: ID, dtype: int64

インデックス145を使わずに、ここ146の値を取得するにはどうしたらよいでしょうか?

ありがとうございました。

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

ilocを使って、(ラベルではなく)位置でアクセスする。

In [11]: df = pd.DataFrame([[1, 2], [3, 4]], ['a', 'b'], ['A', 'B'])

In [12]: df
Out[12]: 
   A  B
a  1  2
b  3  4

In [13]: df.iloc[0]  # first row in a DataFrame
Out[13]: 
A    1
B    2
Name: a, dtype: int64

In [14]: df['A'].iloc[0]  # first item in a Series (Column)
Out[14]: 1