gpt4 book ai didi

python - 如何从DataFrame的rank方法中获取整数而不是 float

转载 作者:行者123 更新时间:2023-12-01 23:15:49 24 4
gpt4 key购买 nike

用相应的“排名”替换数字:

import pandas as pd
import numpy as np

numbers = np.random.random_integers(low=0.0, high=10000.0, size=(1000,))
df = pd.DataFrame({'a': numbers})
df['a_rank'] = df['a'].rank()

我将浮点值作为rank方法的默认输出类型:

987     82.0
988 36.5
989 526.0
990 219.0
991 957.0
992 819.5
993 787.5
994 513.0

我宁愿使用整数,而不是 float 。使用 asType(int) 对结果 float 值进行舍入会有风险,因为转换为 int 可能会引入 float 中的重复值彼此太接近的 值,例如 3.54.0。当转换为整数时,它们都会得到整数值 4

有没有办法引导rank方法输出整数?

最佳答案

上述解决方案对我来说不起作用。但以下确实有效。编辑的关键行是:

df['a_rank'] = df['a'].rank(method='dense').astype(int);

这可能是版本问题。

关于python - 如何从DataFrame的rank方法中获取整数而不是 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40249447/

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