gpt4 book ai didi

python - 有没有办法在 pandas DataFrame 中将 'search' 用于列中的 2 个特定数字并返回索引(如果存在)?

转载 作者:行者123 更新时间:2023-11-28 17:35:10 24 4
gpt4 key购买 nike

我使用 pandas 制作了一个 DataFrame,想知道是否有办法在特定列的行中“搜索”2 个特定数字,然后返回该行

例如

eg

如果 a = 4 和 b =6 返回 1(索引)

或者如果 b=5 和 c =2 返回 2(索引)

或者在 a = 2 和 b=1 中搜索什么都不返回。 (因为这不存在)

谢谢!

最佳答案

print(df.loc[(df["A"] == 4) & (df["B"] == 6)].index[0])

在函数中:

def pairs(df, k1,k2, a, b):
check = df.loc[(df[k1] == a) & (df[k2] == b)]
return None if check.empty else check.index[0]

在你的 df 上运行它:

In [5]: pairs(df,"A","B",4,6)
Out[5]: 1

In [6]: pairs(df,"B","C",5,2 )
Out[6]: 2

In [7]: print(pairs(df,"A","B",2,1))
None

如果你想要所有的索引使用index.tolist:

def pairs(df, k1,k2, a, b):
check = df.loc[(df[k1] == a) & (df[k2] == b)]
return None if check.empty else check.index.tolist()

关于python - 有没有办法在 pandas DataFrame 中将 'search' 用于列中的 2 个特定数字并返回索引(如果存在)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31256930/

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