gpt4 book ai didi

python - 将 pandas float 系列转换为 int

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

我正在为学习者离散化我的系列。我确实需要该系列处于 float 状态,而且我确实需要避免 for 循环。

如何将这个系列从 float 转换为 int?

这是我目前失败的功能:

def discretize_series(s,count,normalized=True):
def discretize(value,bucket_size):
return value % bucket_size
if normalized:
maximum = 1.0
else:
minimum = np.min(s)
s = s[:] - minimum
maximum = np.max(s)
bucket_size = maximum / float(count)

这是导致函数失败的行:

    s = int((s[:] - s[:] % bucket_size)/bucket_size)

int() 导致转换错误:我无法将 pandas 系列转换为 int 系列。

    return s

如果我删除 int(),该函数可以工作,所以我可能只是看看我是否能让它正常工作。

最佳答案

常规的 python int 函数只适用于标量。您应该使用 numpy 函数来舍入数据,要么

s = np.round((s - s % bucket_size) / bucket_size) #to round properly; or
s = np.fix((s - s % bucket_size) / bucket_size) #to round towards 0

如果你真的想转换成整数类型,使用

s = s.astype(int)

转换你的数组。

关于python - 将 pandas float 系列转换为 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34145190/

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