gpt4 book ai didi

python - Pandas 有效地搜索匹配条件的第一行

转载 作者:行者123 更新时间:2023-11-28 22:11:00 25 4
gpt4 key购买 nike

我有一个包含数百万行的 Pandas DataFrame。我想根据条件 C 从行中选择一个值。

我有以下有效的代码:

all_matches= df.loc[C, "column_name"]
first_match = next(iter(all_matches), 'no match')

问题是它非常低效。我想知道如何做类似于 df.loc[C, "column_name"] 的事情,但在第一次匹配时停止。

最佳答案

如果总是有第一个值使用Series.iat快速获取第一个值:

df.loc[C, "column_name"].iat[0]

或者:

df.loc[C, "column_name"].values[0]

另一种解决方案是更改 this :

df = pd.DataFrame({'column_name':['a','b','va'],
'col':[1,2,3]})
from numba import njit

@njit
def get_first_val_nb(A, B, k):
for i in range(len(A)):
if A[i] > k:
return B[i]
return 'no match'

A = df['col'].values
B = df['column_name'].values

idx = get_first_val_nb(A,B, 2)
print (idx)
va

关于python - Pandas 有效地搜索匹配条件的第一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56251620/

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