4

データフレームに 6 つの列があります。そのうちの 2 つは、約 3K の一意の値を持っています。get_dummies()データフレーム全体またはこれらの 2 つの列の 1 つだけで使用すると、返されるのは 3k の値を持つまったく同じ列です。get_dummiesより大きな列のダミー化に失敗します。一部の列はワンホット エンコードされますが、大きな列はエンコードされません。

get_dummies は、カーディナリティが小さいセットでのみ機能するのだろうか。

これはここでも議論されていると思います: Python(pandas) スクリプトのヘルプが必要

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 に答える