pandas分类数据的处理方式 get_dummies

使用Pandas.get_dummies给文本数据编号(不是很推荐)

df1=pd.get_dummies(df['Bob'],prefix='Bob',dummy_na=True)

df1

pandas分类数据的处理方式 get_dummies_第1张图片

data = {'Bob' : pd.Series(['1p', '2p', np.nan,'4p']),

        'Alice' : pd.Series([40, 110, 500, 45])}

df = pd.DataFrame(data) # index可放可不放,若不放index则会

df

pandas分类数据的处理方式 get_dummies_第2张图片

 

大家在这里观察一下,原来的Bob这一列变成了Bob_1p,Bob_2p

….其实这就是一个非常简单的变换。Bob底下有四种变量,在变换后如果是这个变量就变成1,不是就是零。如果是空值在Bob_nan那一列就会显示为1.但这样做带来的缺点显而易见,一列因为有四个不同变量就变成四列甚至五列。甚至会出现列数多与行数的情况,这样子会导致学习样本不够,拟合效果很弱的情况。

这里主要介绍一下两个函数变量 prefix与dummy_na

Prefix

如果不设定新增列的前缀的话,不易于后期的查看与分析。你想列名简明明了,但新生成的列可不是一下子能看懂的,所以加入前缀是很有必要的。

dummy_na

如果一列中有空值,那么当你设定dummy_na=True时,会新增一列在对应的位置标明0。

你可能感兴趣的:(python,pandas,数据分析,数据挖掘)