Python 在不知道索引的情况下获取序列的第一个元素

Python 在不知道索引的情况下获取序列的第一个元素,python,pandas,dataframe,series,head,Python,Pandas,Dataframe,Series,Head,这就是我可以在没有索引信息的情况下得到Seires的第一个元素的任何方法 例如,我们有一个系列 import pandas as pd key='MCS096' SUBJECTS=pd.DataFrame({'ID':Series([146],index=[145]),\ 'study':Series(['MCS'],index=[145]),\ 'center':Series(['Mag'],i

这就是我可以在没有索引信息的情况下得到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])
                   })
打印主题:

    print (SUBJECTS[SUBJECTS.initials==key]['ID'])
    145    146
    Name: ID, dtype: int64
如果不使用索引145,如何在这里获得146的值


非常感谢您使用iloc按位置(而不是标签)访问:


只需要
(SUBJECTS[SUBJECTS.initials==key][ID'])。value[0]
@Andy Hayden的答案是正确的。你应该接受它。这是如何通过一个系列而不是一个数据帧来实现的。我们必须先转换序列吗?很抱歉,我在另一个项目中使用了它,并且
df['A'].
iloc[0]
给了我一个错误,但是
df.iloc[0]['A']
出于某种原因没有转换。@sobio35是的,这实际上不应该工作,因为
df['A'.
创建了一个序列,并且在这个iloc上不会工作。但另一方面,正如您所描述的,它可以工作,因为iloc在整个df上执行,然后选择系列['A']。
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