我有一个 pandas 数据框,如下所示:
| Cliid | Segment | Insert |
|-------|---------|--------|
| 001 | A | 0 |
| 002 | A | 0 |
| 003 | C | 0 |
| 004 | B | 1 |
| 005 | A | 0 |
| 006 | B | 0 |
Run Code Online (Sandbox Code Playgroud)
我想将其分成 2 组,每组的 [Segment, Insert] 中每个变量的组成都相同。例如,每个组有 1/2 的观测值属于 A 段,1/6 的插入 = 1,依此类推。
我已经检查过这个答案,但它只对一个变量进行分层,它不适用于多个变量。
R 有这个函数可以做到这一点,但使用 R 不是一个选择。
顺便说一下,我使用的是Python 3。
Gus*_*sto 12
您可以使用 sklearn 的train_test_splitstratify函数,其中包含可用于确定要分层的列的参数。
例如:
from sklearn.model_selection import train_test_split
df_train, df_test = train_test_split(df1, test_size=0.2, stratify=df[["Segment", "Insert"]])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11080 次 |
| 最近记录: |