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]