gpt4 book ai didi

python - 获取序数变量的虚拟变量并自动更改列名称?

转载 作者:行者123 更新时间:2023-12-02 03:34:01 24 4
gpt4 key购买 nike

我正在用 python 做这些,但我想也许有一种更快的方法来做到这一点。

对序数变量执行 pd.get_dummies(dataset[a column name]) 后,我手动检查列数并在每个列的末尾添加 1, 2, 3,..新的列名称。

在 python 中,我们是否可以编写更高效的代码,以便 python 获得序数变量的虚拟值并重命名带有按顺序附加的数字的列名称? (即,如果我给出 g,它会将列重命名为 g1、g2、g3 列)

dummie_g = pd.get_dummies(d["gen"])
dummie_g.describe()
dummie_g.columns = ['g1','g2','g3']

dummie_e=pd.get_dummies(d["educ"])
dummie_e.describe()
dummie_e.columns = ['e1','e2','e3','e4']

dummie_a=pd.get_dummies(d["type"])
dummie_a.describe()
dummie_a.columns=['a1','a2','a3','a4','a5','a6']

dummie_n=pd.get_dummies(d["name"])
dummie_n.describe()
dummie_n.columns=['n1','n2']

dummie_dpt=pd.get_dummies(d["dpt"])
dummie_dpt.describe()
dummie_dpt.columns=['h1','h2','h3','h4','h5','h6','h7','h8','h9','h10','h11','h12','h13','h14','h15']

最佳答案

get_dummies 有一个名为 prefix 的参数,用于在获取虚拟数据后为列添加前缀。您可以像这样使用它

pd.get_dummies(d["gen"],prefix='g')

您的代码的改进版本可能是:

dfs = {}
# use dicts over repeating n varaibles.
for i,j in zip(["gen","educ","type","name","dpt"],["g","e","a","n","h"]):
dfs['dummies_'+j] = pd.get_dummies(d[i],prefix=j)

关于python - 获取序数变量的虚拟变量并自动更改列名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50929181/

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