python - 如何将虚拟列连接到主表?

标签 python pandas dummy-variable

我正在尝试为分类变量创建虚拟变量。但是,当我创建它们时,我收到“ValueError:列重叠但未指定后缀”。这是代码:

dummy2 = pd.get_dummies(data['Teaching'], prefix='Teach')

dummy2.head ()
dummy2.columns = ['Small/Rural','Teaching']

data = data.join(dummy2)
##################
dummy3 = pd.get_dummies(data['Gender'], prefix='Gender_')

dummy3.head()
dummy3.columns = ['Male','Female']

data = data.join(dummy3)
#####################
dummy4 = pd.get_dummies(data['PositionTitle'], prefix='pos_')

dummy4.head()
dummy4.columns = ['Acting Director','RegioReresentative']

data = data.join(dummy4)
#####################


dummy5 = pd.get_dummies(data['Compensation'], prefix='COMP')

dummy5.head()
dummy5.columns = ['23987','46978','89473','248904']

data = data.join(dummy5)

#################3
dummy6 = pd.get_dummies(data['TypeControl'], prefix='Type')

dummy6.head()
dummy6.columns = ['City/country','District','Investor','Non Profit']

data = data.join(dummy6)

最佳答案

关于如何使用 pd.concat 执行此操作有一个很好的解释,位于 https://towardsdatascience.com/the-dummys-guide-to-creating-dummy-variables-f21faddb1d40 。对此示例进行修改将如下所示:

dummy2 = pd.get_dummies(data['Teaching'], prefix='Teach')
data = pd.concat([data, dummy2], axis = 1)

关于python - 如何将虚拟列连接到主表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40208088/

相关文章:

来自数组列表的 python pandas 数据框

python - 从字符串列创建虚拟变量

r - 在R data.table中创建虚拟变量

python - 使用虚拟变量进行具有多个分类变量的机器学习

python - Python 的高效图像缩略图控件?

python - 如何将列表写入 csv,每个项目都在新行中

python - 将 Mx1 大小的数据框添加到 Pandas 中的 MxN 大小的数据框

python - 对 pandas 中的数据框进行排序

python - 基于 Pandas.Dataframe 中的多列合并多个重复行

python - PyQt5:使用事件进行绘画