如何使用 where 函数从 pandas 数据框中导出单个值?

How can I export single value out of pandas ataframe using where function?

我的 pandas 数据框是这样的:

          a        b                         c
0         10       hi                       sth
1         300      hello                    0
2         2157     bye                      any

我的查询是这样的:

df[a].where(df['b'] == 'hi')

结果显示所有列 a 的值为 where b 条件为真。 我的问题是我怎么能有一个单一的值(对于我的情况只有一行是真的)作为结果而不是一个列表,在我的例子中是“10”

您可以使用 loc and squeeze:

df.loc[df['b'].eq('hi'), 'a'].squeeze()

输出:10

请注意,如果您有多个匹配项,您将得到一个系列作为输出。