gpt4 book ai didi

python - 获取行匹配条件的 Pandas DataFrame 中的第一列值

转载 作者:太空宇宙 更新时间:2023-11-04 08:29:17 25 4
gpt4 key购买 nike

假设我有一个看起来像这样的 pandas 数据框:

   color  number
0 red 3
1 blue 4
2 green 2
3 blue 2

我想从数字列中获取第一个值,其中颜色列的值为 'blue',在本例中将返回 4

我知道这可以使用 loc 来完成,如下所示:

df[df['color'] == 'blue']['number'][0]

考虑到我只需要第一次出现,我想知道是否有更好的方法。

最佳答案

使用 head——如果颜色存在,这将返回第一行,否则返回一个空的 Series

col = 'blue'
df.query('color == @col').head(1).loc[:, 'number']

1 4
Name: number, dtype: int64

或者,要获取单个项目,请使用 obj.is_empty:

u = df.query('color == @col').head(1)
if not u.is_empty:
print(u.at[u.index[0], 'number'])

# 4

对于无效颜色,headidxmax 之间的区别:

df.query('color == "blabla"').head(1).loc[:, 'number']
# Series([], Name: number, dtype: int64)

df.loc[(df['color'] == 'blabla').idxmax(),'number']
# 3

关于python - 获取行匹配条件的 Pandas DataFrame 中的第一列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54258674/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com