4

我的数据框中有 6 列。其中 2 个有大约 3K 的唯一值。当我get_dummies()在整个数据框或仅在其中一个 2 列上使用时,返回的是具有 3k 值的完全相同的列。get_dummies无法模拟更大的列。有些列确实会进行一次热编码,但大的则不会。

我想知道 get_dummies 是否仅适用于基数较小的集合。

我相信这也在这里讨论过: Need help with python(pandas) script

4

1 回答 1

4

它似乎按我的预期工作。

考虑一系列s随机的 3 个字符串

import pandas as pd
import numpy as np
from string import lowercase

np.random.seed([3,1415])
s = pd.DataFrame(np.random.choice(list(lowercase), (10000, 3))).sum(1)

s.nunique()

7583

然后分配数据框df

df = s.str.get_dummies()

df.shape

(10000, 7583)

df.sum(1).describe()

count    10000.0
mean         1.0
std          0.0
min          1.0
25%          1.0
50%          1.0
75%          1.0
max          1.0
dtype: float64
于 2016-09-14T14:18:06.527 回答