gpt4 book ai didi

python - 根据阈值选择数据框的前 N ​​行

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

我有这个数据集,其中包含键及其关联的置信度值。

values = [('S08', -6276.0), ('S01', -6360.0), ('S03', -6504.0), ('C01', -521682.0), 
('C03', -556262.0), ('C08', -558108.0), ('S06', -1723974.0),
('S09', -2379806.0), ('C06', -2472398.0), ('C09', -2930688.0)]
df = pd.DataFrame(values, columns=['key', 'confidence'])

key confidence
0 S08 -6276.0
1 S01 -6360.0
2 S03 -6504.0
3 C01 -521682.0
4 C03 -556262.0
5 C08 -558108.0
6 S06 -1723974.0
7 S09 -2379806.0
8 C06 -2472398.0
9 C09 -2930688.0

在这种情况下,前 3 行的置信度值非常高,需要被选中。其余行(从第四行开始)的置信度值与前 3 名相距甚远,需要丢弃。 TopN 行可以在 1 到 9 之间动态变化。

最佳答案

使用 bool 索引 应用过滤阈值。

thresh = 0.0005 * df.confidence.std() # for example 
df = df[df.confidence.diff().fillna(0).abs() < thresh]
df
key confidence
0 S08 -6276.0
1 S01 -6360.0
2 S03 -6504.0

要保留 NaN,请使用 df.where

df.confidence = df.confidence.where(df.confidence.diff().fillna(0).abs() < thresh)
df
key confidence
0 S08 -6276.0
1 S01 -6360.0
2 S03 -6504.0
3 C01 NaN
4 C03 NaN
5 C08 NaN
6 S06 NaN
7 S09 NaN
8 C06 NaN
9 C09 NaN

关于python - 根据阈值选择数据框的前 N ​​行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46186671/

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