gpt4 book ai didi

python - 根据列的阈值删除行

转载 作者:太空宇宙 更新时间:2023-11-04 07:31:37 26 4
gpt4 key购买 nike

用 elasticsearch search 索引数据。输入文件多匹配查询是dob和last name。它有相同的学生。因此该文件也作为输出。有关于删除低分行的想法。我该如何接近?

Filename Name      DOB         Score PageNumber
11086 Ram 11 06 1930 6.4504585 1
11086 Ram 11 06 1930 6.4504585 2
11086 Ram 11 06 1930 6.4504585 1
81564 Kiran 11 06 1930 3.5517883 2
81564 Kiran 11 06 1930 3.5517883 33
81564 Kiran 11 06 1930 3.5517883 12
754133 peter 11 06 1930 2.5905614 1
754133 peter 11 06 1930 2.5905614 1

期望的输出

Filename Name      DOB         Score PageNumber
11086 Ram 11 06 1930 6.4504585 1
11086 Ram 11 06 1930 6.4504585 2
11086 Ram 11 06 1930 6.4504585 1

最佳答案

假设您只需要得分大于 3

的行
df.query('Score > 3')

Filename Name DOB Score PageNumber
0 11086 Ram 11 06 1930 6.450458 1
1 11086 Ram 11 06 1930 6.450458 2
2 11086 Ram 11 06 1930 6.450458 1
3 81564 Kiran 11 06 1930 3.551788 2
4 81564 Kiran 11 06 1930 3.551788 33
5 81564 Kiran 11 06 1930 3.551788 12

假设你想按标准差的倍数过滤

df[df.Score > (df.Score.mean() - 1 * df.Score.std())]

Filename Name DOB Score PageNumber
0 11086 Ram 11 06 1930 6.450458 1
1 11086 Ram 11 06 1930 6.450458 2
2 11086 Ram 11 06 1930 6.450458 1
3 81564 Kiran 11 06 1930 3.551788 2
4 81564 Kiran 11 06 1930 3.551788 33
5 81564 Kiran 11 06 1930 3.551788 12

或者你可以只抓取等于最大值的行

df.query('Score == @df.Score.max()')

Filename Name DOB Score PageNumber
0 11086 Ram 11 06 1930 6.450458 1
1 11086 Ram 11 06 1930 6.450458 2
2 11086 Ram 11 06 1930 6.450458 1

或者

df[df.Score == df.Score.max()]

Filename Name DOB Score PageNumber
0 11086 Ram 11 06 1930 6.450458 1
1 11086 Ram 11 06 1930 6.450458 2
2 11086 Ram 11 06 1930 6.450458 1

关于python - 根据列的阈值删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46190318/

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