实际上,这是一个简单的问题,我的数据集太大而无法保存到内存中,因此必须先加载它,然后依次对其进行机器学习。我的功能之一是分类的,我想将其转换为虚拟变量,但是有两个问题:
1)拼接期间并非所有类别都存在。所以我想添加额外的类别,即使它们不在当前切片中显示
2)这些列必须保持以前的顺序。
这是问题的一个示例:
In[1]: import pandas as pd
splice1 = pd.Series(list('bdcccb'))
Out[1]: 0 b
1 d
2 c
3 c
4 c
5 b
dtype: object
In[2]: splice2 = pd.Series(list('accd'))
Out[2]: 0 a
1 c
2 c
3 d
dtype: object
In[3]: splice1_dummy = pd.get_dummies(splice1)
Out[3]: b c d
0 1 0 0
1 0 0 1
2 0 1 0
3 0 1 0
4 0 1 0
5 1 0 0
In[4]: splice2_dummy = pd.get_dummies(splice2)
Out[4]: a c d
0 1 0 0
1 0 1 0
2 0 1 0
3 0 0 1
编辑:如何处理N-1规则。必须删除一个虚拟变量,但是要删除哪个变量?每个新的接头将具有不同的类别变量。