在Python中创建虚拟对象的分类变量
我正在尝试从只包含0和1的三列中创建一个分类变量。 它们将完美地匹配在一起作为一个分类变量——但是我找不到一个代码将它们合并为一个:作为一个标记为“运动”的分类变量 任何创建分类变量的想法或其他方法都将不胜感激在Python中创建虚拟对象的分类变量,python,categorical-data,dummy-data,Python,Categorical Data,Dummy Data,我正在尝试从只包含0和1的三列中创建一个分类变量。 它们将完美地匹配在一起作为一个分类变量——但是我找不到一个代码将它们合并为一个:作为一个标记为“运动”的分类变量 任何创建分类变量的想法或其他方法都将不胜感激 编辑:“移动”应该是一个包含三个分类变量的对象如果我没有弄错,您可以对行使用idxmax和axis=1: df = pd.DataFrame({'CAR':[0,0,0,0,0],"BIKE":[1,1,0,1,0],"FEET":[0,0,1,0
编辑:“移动”应该是一个包含三个分类变量的对象如果我没有弄错,您可以对行使用
idxmax
和axis=1
:
df = pd.DataFrame({'CAR':[0,0,0,0,0],"BIKE":[1,1,0,1,0],"FEET":[0,0,1,0,1]})
df['Movement'] = df.idxmax(axis=1)
df
CAR BIKE FEET Movement
0 0 1 0 BIKE
1 0 1 0 BIKE
2 0 0 1 FEET
3 0 1 0 BIKE
4 0 0 1 FEET
您计划如何对“移动”进行编码?如果将这3个值合并为一个值,“移动”的值始终为1。我希望将“移动”作为包含三个变量的类别。抱歉搞混了!如果我们有
df=pd.DataFrame({'CAR':[0,0,0,0,0,1],“BIKE”:[1,1,0,1,0,1],“FEET”:[0,0,1,0,1,1]}
那么df['Movement']
不会返回CAR,BIKE,FEET
,但它只返回第一个CAR
。我们怎样才能解决这个问题?
df = pd.DataFrame({'CAR':[0,0,0,0,0],"BIKE":[1,1,0,1,0],"FEET":[0,0,1,0,1]})
df['Movement'] = df.idxmax(axis=1)
df
CAR BIKE FEET Movement
0 0 1 0 BIKE
1 0 1 0 BIKE
2 0 0 1 FEET
3 0 1 0 BIKE
4 0 0 1 FEET