gpt4 book ai didi

python - 将 pandas qcut bin 应用于新数据

转载 作者:IT老高 更新时间:2023-10-28 20:40:14 29 4
gpt4 key购买 nike

我正在使用 pandas qcut 将一些数据分成 20 个 bin,作为数据准备的一部分,用于训练二进制分类模型,如下所示:

data['VAR_BIN'] = pd.qcut(cc_data[var], 20, labels=False)

我的问题是,我如何将上述 qcut 语句派生的相同分箱逻辑应用于一组新数据,例如用于模型验证目的。有没有简单的方法可以做到这一点?

谢谢

最佳答案

您可以通过传递 retbins=True 来做到这一点。

考虑以下DataFrame:

import pandas as pd
import numpy as np
prng = np.random.RandomState(0)
df = pd.DataFrame(prng.randn(100, 2), columns = ["A", "B"])

pd.qcut(df["A"], 20, retbins=True, labels=False) 返回一个元组,其第二个元素是 bin。所以你可以这样做:

ser, bins = pd.qcut(df["A"], 20, retbins=True, labels=False)

ser 是分类系列,bins 是断点。现在您可以将 bin 传递给 pd.cut 以将相同的分组应用于另一列:

pd.cut(df["B"], bins=bins, labels=False, include_lowest=True)
Out[38]:
0 13
1 19
2 3
3 9
4 13
5 17
...

关于python - 将 pandas qcut bin 应用于新数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37906210/

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