【问题标题】:Convert categories to binary columns (concat the category columns)将类别转换为二进制列(连接类别列)
【发布时间】:2023-01-10 02:19:30
【问题描述】:

想要将类别转换为列,连接到 df。类别列值应该是每行包含 0 或 1 的新列。

df = pd.DataFrame({"": [0,1,2,3],
                     "value1": ["ryan", "delta", "delta", "delta"], 
                     "category": ["teacher", "pilot", "engineer", "pilot"], 
                     "value2": [1, 1, 2, 3]})

答案 df 应该是:

finaldf = pd.DataFrame({"": [0,1,2,3],
                     "value1": ["ryan", "delta", "delta", "delta"], 
                     "category": ["teacher", "pilot", "engineer", "pilot"], 
                       "teacher":[1,0,0,0],
                       "pilot":[0,1,0,1],
                       "engineer": [0,0,1,0],
                     "value2": [1, 1, 2, 3]})

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    使用pd.get_dummies

    finaldf = pd.get_dummies(df, columns=["category"], prefix="", prefix_sep="")
    

    输出:

         value1  value2  engineer  pilot  teacher
    0  0   ryan       1         0      0        1
    1  1  delta       1         0      1        0
    2  2  delta       2         1      0        0
    3  3  delta       3         0      1        0
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-15
      • 2015-05-27
      • 2017-09-08
      相关资源
      最近更新 更多