Python 在数据帧中选择单个值

Python 在数据帧中选择单个值,python,pandas,dataframe,Python,Pandas,Dataframe,我有以下数据框: Exp变量得分所有最佳rsmin ctr Qle MBE-3.061518 0.082860-3.921793 ctr Qh MBE 12.275757 0.464946 12.288968 ctr NEE MBE 0.000022 0.000013 0.000015 ctr Qle SD 0.223095 0.010868 0.052601 ctr Qh SD 0.170328 0.065823 0.147554 中心东北标准差0.361303 0.223580 0.3271

我有以下数据框:

Exp变量得分所有最佳rsmin
ctr Qle MBE-3.061518 0.082860-3.921793
ctr Qh MBE 12.275757 0.464946 12.288968
ctr NEE MBE 0.000022 0.000013 0.000015
ctr Qle SD 0.223095 0.010868 0.052601
ctr Qh SD 0.170328 0.065823 0.147554
中心东北标准差0.361303 0.223580 0.327189
我正在阅读数据帧,如下所示:

df = pd.read_csv(inbasedir + "median_scores.csv", delimiter=",")
df.set_index('Exp', inplace=True)
df.columns.name = df.index.name
df.index.name = None
index=df.index
我将删除以下列的数量:

df = pd.read_csv(inbasedir + "median_scores.csv", delimiter=",")
df.set_index('Exp', inplace=True)
df.columns.name = df.index.name
df.index.name = None
index=df.index
现在我想选择一个值,比如说链接到ctr、Qle、MBE的值,最好是egal到0.082860,我使用的是:

a=df.loc[['ctr'],['Qle','MBE','best']].values
但它会返回完整的“最佳”列:

0.082860
0.464946
0.000013
0.010868
0.065823
0.223580
有人知道如何选择单个值吗?

您可以尝试:

df.loc[(df['Exp']='ctr')&(df['Variable']='Qle')&(df['Score']='MBE'),'best']值

尝试使用多索引,现在您正在使用“Exp”作为索引,它没有唯一的值。这就是它返回整个最佳列的原因

df.set_index(['Exp','Variable','Score'],inplace=True)

a=df.loc[('ctr','Qle','MBE'),'best'].values

您可以使用
df.iloc
根据位置进行选择。在您的场景中,如果您想要
best
列的第一行和第一个值,它将是:
df.iloc[0][4]