gpt4 book ai didi

python - 将数据框中的 float 舍入到最接近的特定浮点值(舍入到非整数列表)

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

我有一个像这样的数据框:

dict_ = {'Col1':[0.54523, 0.24223, 0.94234],'Col2':[0.992324, 0.274336, 0.245435]}
df = pd.DataFrame(dict_, columns=dict_.keys())
<表类="s-表"><头>第 1 列第二列<正文>0.545230.9923240.242230.2743360.942340.245435

我只想得到特定值 0.25, 0.5, 1.0,将原始 df 数据帧四舍五入到最接近特定值的可能数字。

所以,我希望 df 成为:

<表类="s-表"><头>第 1 列第二列<正文>0.51.00.250.251.00.25

如何在 python 中执行此操作(最好是在 pandas 数据框中)?

最佳答案

让我们使用 numpy 广播来计算 Col1 中每个值之间的绝对差值和 Col2使用数组 [0.25, 0.5, 1.0] 中的值然后使用 .argmin 找到最接近值的索引:

c = ['Col1', 'Col2']

a = np.array([0.25, 0.5, 1.0])
idx = np.abs(df[c].values[:, :, None] - a).argmin(axis=-1)
df[c] = a[idx]

结果:

   Col1  Col2
0 0.50 1.00
1 0.25 0.25
2 1.00 0.25

关于python - 将数据框中的 float 舍入到最接近的特定浮点值(舍入到非整数列表),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65978233/

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