【问题标题】:converting mixed data to categorical: dataframe将混合数据转换为分类数据:dataframe
【发布时间】:2019-11-17 18:45:28
【问题描述】:

我有一列(实际上是几列)包含混合类型的数据:分类数据和数值数据(对应于不同的类别)。但是,它们本质上应该是分类的。我的最终目标是给他们一个单热编码表示。

列中的数值大多为零。我想将此列转换为分类。因为我不知道使用get_dummies() 进行转换的直接方式(混合到单热编码)。所以我先完全转成数值,再转成one-hot-encoding。

下图代表我的场景。

有没有更好的方法?有没有办法直接将数据转换为分类数据。

感谢任何帮助。

【问题讨论】:

  • 数值是否对应不同的类别?还是应该将它们全部归为一个类别?更详细的示例输入 + 所需的输出将有很大帮助。
  • 数值对应不同的类别。

标签: python dataframe categorical-data one-hot-encoding


【解决方案1】:

下面的代码正确地用整数和分类值对一列进行了单热编码。这使用get_dummies() 最直接的方式。如果它不适合您,请考虑使用another library for categorical encoding

import pandas as pd
data = {'Column 1':[1,2,'a']}
df = pd.DataFrame(data)
print(pd.get_dummies(df, columns=['Column 1']))

输出:

   Column 1_1  Column 1_2  Column 1_a
0           1           0           0
1           0           1           0
2           0           0           1
​

【讨论】:

    猜你喜欢
    • 2020-08-11
    • 2015-04-14
    • 1970-01-01
    • 1970-01-01
    • 2021-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    相关资源
    最近更新 更多