我已经构建了一个从我的数据框中准确提取一行的条件:
d2 = df[(df['l_ext']==l_ext) & (df['item']==item) & (df['wn']==wn) & (df['wd']==1)]
现在我想从特定列中获取一个值:
val = d2['col_name']
但结果我得到一个包含一行和一列( 即 一个单元格)的数据框。这不是我需要的。我需要一个值(一个浮点数)。我怎样才能在熊猫中做到这一点?
如果您有一个只有一行的 DataFrame,则使用 将第一(唯一)行作为 Series 访问iloc,然后使用列名访问值:
iloc
In [3]: sub_df Out[3]: A B 2 -0.133653 -0.030854 In [4]: sub_df.iloc[0] Out[4]: A -0.133653 B -0.030854 Name: 2, dtype: float64 In [5]: sub_df.iloc[0]['A'] Out[5]: -0.13365288513107493