我的数据框中有 6 列。其中 2 个具有大约 3K 个唯一值。当我在整个数据帧上使用 get_dummies()
或仅在这 2 列中使用时,返回的是具有 3k 值的完全相同的列。 get_dummies
无法模拟较大的列。
有些列确实得到了 one-hot 编码,但大列没有。
我想知道 get_dummies 是否只适用于基数较小的集合。
我相信这也在此处讨论:Need help with python(pandas) script
最佳答案
它似乎符合我的预期。
考虑随机 3 个字符串的系列 s
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
关于Python Pandas get_dummies() 限制。不转换所有列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39491225/