gpt4 book ai didi

python - Pandas - 基于每列的前 x% 值,标记为新数字

转载 作者:行者123 更新时间:2023-12-04 02:56:39 25 4
gpt4 key购买 nike

我在下面有一个 pandas 数据框:

    df

name value
0 Jack 3
1 Luke 3
2 Mark 2
3 Chris 1
4 Ace 10
5 Isaac 8

基于“值”列,我希望将前 50% 的值标记为 1,将后 50% 的值标记为 0。

期望得到如下结果:

    Results

name value percent mark
0 Jack 3 0
1 Luke 4 1
2 Mark 2 0
3 Chris 1 0
4 Ace 10 1
5 Isaac 8 1

提前致谢。

最佳答案

您可以将一个序列与其中位数进行比较,然后将 bool 转换为 int:

df['percent_mark'] = (df['value'] > df['value'].median()).astype(int)

对于特定百分比,使用 pd.Series.quantile .例如:

df['percent_mark'] = (df['value'] > df['value'].quantile(0.25)).astype(int)

关于python - Pandas - 基于每列的前 x% 值,标记为新数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52876391/

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