Python Pandas get_dummies()限制。不转换所有列

时间:2016-09-14 13:05:12

标签: python pandas one-hot-encoding

我的数据框中有6列。其中2个具有大约3K的唯一值。当我在整个数据帧上使用get_dummies()时,或者只返回那两个列时返回的是具有3k值的完全相同的列。 get_dummies无法假装更大的列。 有些专栏确实得到了一个热门编码,但大专栏没有。

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

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

1 个答案:

答案 0 :(得分:3)

它似乎对我有用。

考虑随机3个字符串的系列$geo = file_get_contents('http://maps.googleapis.com/maps/api/geocode/json?address='.urlencode($address).'&sensor=false'); $geo = json_decode($geo, true); if ($geo['status'] = 'OK' ) { $Lat = $geo['results'][0]['geometry']['location']['lat']; $Long = $geo['results'][0]['geometry']['location']['lng']; } else { $Lat = 46; $Long = 2; $message="error"; }

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)