Get first element of Series without knowing the index

Question:

Is there any way to access the first element of a Series without knowing its index?

Let’s say I have the following Series:

import pandas as pd

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

Print out SUBJECTS:

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

How can I get the value 146 here without using index 145?

Asked By: Hello lad

||

Answers:

Use iloc to access by position (rather than label):

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
Answered By: Andy Hayden