gpt4 book ai didi

python - Pandas Dataframe - 根据两列找到具有最小值但大于 0 的行

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

我有一个包含 3 列的数据框:x、y、时间。有几千行。

我想做的是用最短时间检索行,但我希望最短时间不应该为 0。

例如

x     y    time
240 1 28.5
240 2 19.3
240 240 0
240 19 9.7

到目前为止,我已经尝试了以下内容:

df.loc[df['time'] > 0].min()
# this gives me a series and I want a row
# x 225.000000
# y 0.000000
# time 1.066606

df['time'].drop_duplicates().nsmallest(1)
# 225 0.0

我也尝试过用 groupby 做一些事情

df.loc[df.groupby('id_x', sort=False)['time'].idxmin()]

我知道在设置这个子集时遇到问题,因为我通常会得到一个系列。

最佳答案

试试这个:

In [69]: df.loc[df.time>0, 'time'].idxmin()
Out[69]: 3

In [72]: df.loc[[df.loc[df.time>0, 'time'].idxmin()]]
Out[72]:
x y time
3 240 19 9.7

关于python - Pandas Dataframe - 根据两列找到具有最小值但大于 0 的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49469300/

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