gpt4 book ai didi

python - 基于原始列的 dtype 作为对象在数据框中创建多个虚拟变量的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-04 10:44:41 24 4
gpt4 key购买 nike

我有一个包含许多列的 DataFrame,这些列需要根据它们的 dtype 是一个对象来模拟。对这些列进行热编码/虚拟化的最快和最有效的方法是什么?列表理解? lambda ?正则函数和变量赋值?我最终将在线性回归模型中使用一些列。数据集已经非常大了,所以如果我能做到这一点而不会创建过多的列,那将是理想的。这是我尝试编写的一个失败的代码示例:

[pd.get_dummies(col for col in df.columns if df.columns.dtype == 'object')]

最佳答案

您可以使用 select_dtypes发送你想变成假人的子集。您可以 concat这回到原来的DataFrame。

pd.get_dummies(df.select_dtypes('O'))

否则,您将传递整个 DataFrame 并指定列表中的列。您可以使用列表推导式,或者只是检查哪个 dtypes是对象。
pd.get_dummies(df, columns=df.dtypes.loc[lambda x: x == 'O'].index.tolist())

关于python - 基于原始列的 dtype 作为对象在数据框中创建多个虚拟变量的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59763279/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com