首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用OneHotEncoder后,在Pandas dataframe中添加encoder.categores_作为列名

在Pandas dataframe中使用OneHotEncoder后,可以通过以下步骤将encoder.categories_添加为列名:

  1. 导入所需的库和模块:
代码语言:txt
复制
import pandas as pd
from sklearn.preprocessing import OneHotEncoder
  1. 创建一个示例的Pandas dataframe:
代码语言:txt
复制
data = {'category': ['A', 'B', 'C', 'A', 'B']}
df = pd.DataFrame(data)
  1. 实例化OneHotEncoder对象并进行fit_transform操作:
代码语言:txt
复制
encoder = OneHotEncoder()
encoded_data = encoder.fit_transform(df[['category']])
  1. 获取encoder.categories_中的类别列表:
代码语言:txt
复制
categories = encoder.categories_[0]
  1. 将encoder.categories_作为列名添加到Pandas dataframe中:
代码语言:txt
复制
df_encoded = pd.DataFrame(encoded_data.toarray(), columns=categories)
df_final = pd.concat([df, df_encoded], axis=1)

最终,df_final将是一个包含原始数据列和使用OneHotEncoder编码后的新列的Pandas dataframe。其中,新列的列名将使用encoder.categories_中的类别列表。

关于OneHotEncoder的概念、分类、优势和应用场景,以及腾讯云相关产品和产品介绍链接地址,可以参考腾讯云的文档和官方网站。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

AI开发最大升级:Pandas与Scikit-Learn合并,新工作流程更简单强大!

接下来,让我们看看这些新添加的功能是如何处理Pandas DataFrame的字符串列的。 Kaggle住房数据集 Kaggle最早的机器学习竞赛题目之一是《住房价格:先进的回归技术》。...Scikit-Learn最初不是为了直接与Pandas整合而建的。所有的Pandas对象都在内部转换成NumPy数组,并且转换总是返回NumPy数组。...当调用transform时,它使用每个列的这个存储平均值来填充缺失值并返回转换的数组。 OneHotEncoder原理是类似的。fit方法,它会找到每个列的所有唯一值,并再次存储这些值。...我们可以创建一个最终流程,并添加机器学习模型作为最终的估算器。这个流程的第一步就是我们上文刚刚完成的整个转换过程。我们本文开始处设定y表示售价。...数字列和类别列相交处的列 pipeline中使用转换器 上文构建的转换器可以作为流程的一部分。

3.6K30
  • Python下数值型与字符型类别变量独热编码(One-hot Encoding)实现

    import pandas as pd from sklearn.preprocessing import OneHotEncoder   其中,OneHotEncoder是我们实现独热编码的关键模块。...老版本的sklearn,我们可以借助categorical_features=[x]参数来实现这一功能,但是新版本sklearn取消了这一参数。...我们将test_data_1的'SoilType'列作为索引,从而仅仅对该列数据加以独热编码。...再将经过独热编码处理的63列加上。 test_data_1.join(ohe_column) ?   大功告成!   但是这里还有一个问题,我们经过独热编码所得的列名称始以数字来命名的,非常不方便。...最终结果列名称可以说是非常醒目,同时,共有65列数据,自动删除了原本的'SoilType'列,实现了“独热编码”“新列重命名”与“原始列删除”,可谓一举三得,简直是太方便啦~ References

    3K30

    一文了解类别型特征的编码方法

    import DictVectorizer from sklearn.preprocessing import LabelEncoder, OneHotEncoder 接着加载数据: # 定义数据的列名称...安装方法也很简单: pip install pandas_profiling 使用方法也很简单,用 pandas读取数据,直接输入下列代码: df.profile_report() 显示的结果如下,概览如下所示...加载数据,这里我们仅关注类别型特征,也就是 object 类型的特征,这里可以有两种方法来获取: 方法1:采用 pandas 提供的方法 select_dtypes: df2 = df.select_dtypes...第二种,就是将该列特征转化为 category 特征,然后再用编码得到的作为数据即可: ?...Pandas 的 get_dummies 首先介绍第一种--Pandas 的 get_dummies,这个方法使用非常简单了: ?

    1.3K31

    【Python】已解决:FutureWarning: Function get_feature_names is deprecated; get_feature_names is deprecated

    代码片段: 假设你进行特征工程时,使用OneHotEncoder对分类变量进行编码,并试图获取编码的特征名: from sklearn.preprocessing import OneHotEncoder...1.0被标记为弃用(deprecated),并将在1.2版本移除。...实战场景: 假设你有一个包含分类变量的数据集,需要使用OneHotEncoder进行编码并获取编码的特征名: import pandas as pd from sklearn.preprocessing...,还能获取编码的特征名并以DataFrame格式展示结果。...使用最新的方法:官方文档查找并使用最新推荐的方法,避免使用已弃用的方法。 代码注释和文档:代码添加注释,说明使用某些方法的原因,特别是方法即将被弃用时。

    11710

    5 个冷门而有趣的pandas操作

    __iter__() 分析数据样本 Jupyter Notebook通常很难像使用Excel一样难逐行或逐个组地浏览数据集。...一个非常有用的技巧是使用 generator 生成器和Ctrl + Enter组合,而不是我们常规的Shift + Enter运行整个单元格。这样做就可以很方便地迭代查看同一单元格的不同样本了。...但其实也有更灵活的方法,不通过使用.to_excel方法,也能导出来。pandas还有一个功能是.to_clipboard(index = False),它可以将数据复制到剪贴板。...然后,我就可以正在操作的Excel中直接Ctrl + V将数据粘贴到当前电子表格,也是另外一种选择。 5、tqdm 处理大数据集时,数据处理会花费很多时间。...from tqdm import notebook notebook.tqdm().pandas() import之后,pandasdataframe就有了新的方法。

    82030

    关于sklearn独热编码二.字符串型类别变量

    方法二 直接用 LabelBinarizer() 进行二值化 eg. testdata = pd.DataFrame({'pet': ['cat','dog','dog','fish'] 然而要注意的是...,无论 LabelEncoder() 还是 LabelBinarizer(),他们 sklearn 的设计初衷,都是为了解决标签 y 的离散化,而非输入 X, 所以他们的输入被限定为 1-D array...---- 另一种解决方案 其实如果我们跳出 scikit-learn, pandas 可以很好地解决这个问题,用 pandas 自带的get_dummies函数即可 get_dummies的优势在于...: 本身就是 pandas 的模块,所以对 DataFrame 类型兼容很好 不管你列是数值型还是字符串型,都可以进行二值化编码 能够根据指令,自动生成二值化编码的变量名 这么看来,我们找到最完美的解决方案了...,但毕竟不是 sklearn 里的transformer类型,所以得到的结果得手动输入到 sklearn 里的相应模块,也无法像 sklearn 的transformer一样可以输入到pipeline

    1.5K20

    机器学习处理大量数据!

    的特性: 分布式:可以分布多台机器上进行并行处理 弹性:计算过程内存不够时,它会和磁盘进行数据交换 基于内存:可以全部或部分缓存在内存 只读:不能修改,只能通过转换操作生成新的 RDD 2.Pandas...一样操作数据集 我们看看数据集: cols = df.columns #和pandas一样看列名 df.printSchema() root |-- age: integer (nullable =...='string'] 对于类别变量我们需要进行编码,pyspark中提供了StringIndexer, OneHotEncoder, VectorAssembler特征编码模式: from pyspark.ml...: import pandas as pd pd.DataFrame(df.take(20), columns = df.columns) image.png 通过pandas发现,好像还有较多字符串变量...spark通过封装成pyspark使用难度降低了很多,而且pyspark的ML包提供了基本的机器学习模型,可以直接使用,模型的使用方法和sklearn比较相似,因此学习成本较低。

    2.3K30

    Python人工智能:基于sklearn的数据预处理方法总结

    sklearn我们可以使用preprocessing.MinMaxScaler方法来实现数据的归一化处理。...sklearn我们可以使用preprocessing.StandardScaler方法来实现数据的标准化处理。...且sklearn除了专门处理文字的算法,使用fit时需要导入数值型数据。 因此,使用sklearn的机器学习算法时,通常需要对非数值型数据进行编码,以实现将文字型数据转换为数值型数据。...Sex_Embarked_New], axis=1 ) train_data.drop(["Sex", "Embarked"], axis=1, inplace=True) # 查看性别属性与登船港口的类别名,将其作为列名...Sex_col_names = enc_sex.get_feature_names() Embarked_col_names = enc_embark.get_feature_names() # 修改新添加的列的列名

    1.8K10

    机器学习笔记——哑变量处理

    这种哑变量的编码过程R和Python的有成熟的方案,而无需我们手动进行编码,使用成熟的编码方案可以提升特征处理的过程。 R语言哑变量处理: data(iris) ?...注意这里编码结果是全量输出,即类别型特征的每一个类别都有一个编码的特征。...方案二——pandas的get_dummies方法: 可以看到sk-learnOneHotEncoder方法必须保证处理的输入值是array,而且只能处理数值型(也就是数字编码之后的类别变量),无法直接处理仔字符型变量...pandas的get_dummies方法提供了非常简单高效的哑变量处理方案,只有短短的一句代码即可。...方法一——:caret包的dummyVars函数 方案二——:pandas的get_dummies方法 欢迎大家一起学习,一起进步!

    3.1K30

    pandas库的简单介绍(2)

    3.1 DataFrame的构建 DataFrame有多种构建方式,最常见的是利用等长度的列表或字典构建(例如从excel或txt读取文件就是DataFrame类型)。...另外一个构建的方式是字典嵌套字典构造DataFrame数据;嵌套字典赋给DataFramepandas会把字典的键作为列,内部字典的键作为索引。...(*2)指定列顺序和索引列、删除、增加列 指定列的顺序可以声明DataFrame时就指定,通过添加columns参数指定列顺序,通过添加index参数指定以哪个列作为索引;移除列可以用del frame...method方法可选参数允许我们使用ffill等方法重建索引时插值,ffill方法会将值前项填充;bfill是后向填充。...DataFrame,reindex可以改变行索引、列索引,当仅传入一个序列,会默认重建行索引。

    2.3K10

    机器学习归一化特征编码

    梯度下降算法,代价函数为最小平方误差函数,所以使用梯度下降算法的时候,算法会明显的偏向于第二个特征,因为它的取值范围更大。比如,k近邻算法,它使用的是欧式距离,也会导致其偏向于第二个特征。...\n独热编码DataFrame:") print(df_dummies) 原始 DataFrame: Color 0 Red 1 Blue 2 Green...对于独热编码的过程,我们可以通过pd.get_dummies函数实现,也可以通过sklearnOneHotEncoder评估器(转化器)来实现。 ...此时就需要将OneHotEncoderdrop参数调整为’if_binary’,以表示跳过二分类离散变量列 sklearn逻辑回归的参数解释 C 惩罚系数 penalty 正则化项  相比原始损失函数...,正则化的损失函数有两处发生了变化,其一是原损失函数基础上乘以了系数C,其二则是加入了正则化项。

    8610

    pandas

    版本太高 解决方法,使用openpyxl打开xlsx文件 df = pd.read_excel('鄱阳湖水文资料.xlsx',engine='openpyxl') 2、pandas索引问题 Python...df.to_excel("dates.xlsx") 向pandas插入数据 如果想忽略行索引插入,又不想缺失数据与添加NaN值,建议使用 df['column_name'].values得出的是...] = value instead 问题:当向列表增加一列时,需要先将变量复制一份,再添加才可以 a=a.copy() a['column01']= column pandas添加索引列名称...我们使用append合并时,可能会弹出这个错误,这个问题就是pandas版本问题,高版本的pandas将append换成了-append results = results.append(temp,..._append(temp, ignore_index=True) pandas数据转置 与矩阵相同, Pandas ,我们可以使用 .transpose() 方法或 .T 属性来转置 我们的DataFrame

    12410
    领券