我正在使用pandas qcut将一些数据拆分为20个bin,作为数据准备的一部分,用于训练二进制分类模型,如下所示:
data['VAR_BIN'] = pd.qcut(cc_data[var], 20, labels=False)
Run Code Online (Sandbox Code Playgroud)
我的问题是,如何将从上面的qcut语句派生的相同分箱逻辑应用于一组新数据,比如用于模型验证.是否有捷径可寻?
谢谢
ayh*_*han 34
你可以通过传递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"])
Run Code Online (Sandbox Code Playgroud)
pd.qcut(df["A"], 20, retbins=True, labels=False)返回一个元组,其第二个元素是bin.所以你可以这样做:
ser, bins = pd.qcut(df["A"], 20, retbins=True, labels=False)
Run Code Online (Sandbox Code Playgroud)
ser是分类系列,bins是断点.现在,您可以传递二进制文件以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
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12289 次 |
| 最近记录: |