我有以下数据框:
Exp Variable Score all best 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
ctr NEE SD 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
现在我想选择一个值,例如,链接到ctr,Qle,MBE的值,最好是例如0.082860,因为我正在使用:
a=df.loc[['ctr'],['Qle','MBE','best']].values
但它返回了“最佳”一栏:
0.082860
0.464946
0.000013
0.010868
0.065823
0.223580
有人知道如何选择一个值吗?
答案 0 :(得分:2)
您可以尝试:
df.loc[(df['Exp'] == 'ctr') & (df['Variable'] == 'Qle') & (df['Score'] == 'MBE'), 'best'].values
答案 1 :(得分:1)
尝试使用多索引,现在您正在使用“ Exp”作为没有唯一值的索引。这就是为什么它返回整个最佳列。
df.set_index(['Exp','Variable','Score'],inplace=True)
a=df.loc[('ctr','Qle','MBE'),'best'].values