gpt4 book ai didi

python - Pandas 基于多列的分层抽样

转载 作者:行者123 更新时间:2023-12-04 14:10:22 26 4
gpt4 key购买 nike

我有一个如下所示的 Pandas 数据框:

| Cliid | Segment | Insert |
|-------|---------|--------|
| 001 | A | 0 |
| 002 | A | 0 |
| 003 | C | 0 |
| 004 | B | 1 |
| 005 | A | 0 |
| 006 | B | 0 |
我想将它分成 2 组,使每个组在 [Segment, Insert] 中具有相同的每个变量的组成。例如,每个组将有 1/2 的观测值属于段 A,1/6 的插入 = 1,依此类推。
我查过 this answer ,但它只对一个变量进行分层,它不会对多个变量起作用。
R 有 this function确实如此,但使用 R 不是一种选择。
顺便说一下,我使用的是 Python 3。

最佳答案

您可以使用 sklearn 的 train_test_split包含参数 stratify 的函数可用于确定要分层的列。
例如:

from sklearn.model_selection import train_test_split

df_train, df_test = train_test_split(df1, test_size=0.2, stratify=df[["Segment", "Insert"]])

关于python - Pandas 基于多列的分层抽样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64986316/

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