【问题标题】:Creating categorical variable of dummies in Python在 Python 中创建假人的分类变量
【发布时间】:2021-02-23 05:03:31
【问题描述】:

我正在尝试从仅包含 0 和 1 的三列中创建一个分类变量。 它们将完美地匹配为一个分类变量 - 但是我找不到将它们合并为一个的代码:作为一个标记为“运动”的分类变量

    CAR BIKE FEET
0   0.0 1.0 0.0
1   0.0 1.0 0.0
2   0.0 0.0 1.0
3   0.0 1.0 0.0
4   0.0 0.0 1.0
... ... ... ...

任何创建分类变量的想法或其他方法将不胜感激。

编辑:“运动”应该是一个包含三个分类变量的对象

【问题讨论】:

  • 您打算如何对“运动”进行编码?如果将这 3 个合并为一个值,“Movement”的值将始终为 1。
  • 我想将“运动”作为一个包含三个变量的类别。很抱歉造成混乱!

标签: python categorical-data dummy-data


【解决方案1】:

如果我猜对了,您可以使用 idxmaxaxis=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

【讨论】:

  • 如果我们有 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 。我们如何解决这个问题?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-08-14
  • 1970-01-01
  • 2021-05-18
  • 2021-11-12
  • 1970-01-01
  • 2019-01-14
  • 2022-06-14
相关资源
最近更新 更多