Python 在不知道索引的情况下获取序列的第一个元素
这就是我可以在没有索引信息的情况下得到Seires的第一个元素的任何方法 例如,我们有一个系列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
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