gpt4 book ai didi

python - 使用 pd.concat() 时,生成的数据框列名称出现在括号中并添加逗号

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

我是 Python 编程的新手,我不明白为什么会这样……我正在使用 UCI 机器学习存储库中的“在线购物者购买意向数据集”。我将具有数值特征和分类特征的数据分成两个单独的数据框(一个用于cat.data,一个用于num.data),以虚拟化分类变量,并对数值变量进行标准化。我创建的两个数据帧是用于标准化数值的 'StdNumFeat' 和用于虚拟分类变量的 'DumData'

这是 StdNumFeat.head() 的摘录

   Administrative   Administrative_Duration Informational   Informational_Duration  ProductRelated
0 -0.696993 -0.457191 -0.396478 -0.244931 -0.691003
1 -0.696993 -0.457191 -0.396478 -0.244931 -0.668518
2 -0.696993 -0.457191 -0.396478 -0.244931 -0.691003
3 -0.696993 -0.457191 -0.396478 -0.244931 -0.668518
4 -0.696993 -0.457191 -0.396478 -0.244931 -0.488636

这是 DumData.head() 的摘录

    Weekend Month_Aug   Month_Dec   Month_Feb   Month_Jul   Month_June  Month_Mar
0 False 0 0 1 0 0 0
1 False 0 0 1 0 0 0
2 False 0 0 1 0 0 0
3 False 0 0 1 0 0 0
4 False 0 0 1 0 0 0

当我使用以下代码连接两个数据帧时:

data = pd.concat([StdNumFeat, DumData], axis=1)

生成的数据框如下所示:

   (Administrative,)    (Administrative_Duration,)  (Informational,)    (Informational_Duration,)
0 -0.696993 -0.457191 -0.396478 -0.244931
1 -0.696993 -0.457191 -0.396478 -0.244931
2 -0.696993 -0.457191 -0.396478 -0.244931
3 -0.696993 -0.457191 -0.396478 -0.244931
4 -0.696993 -0.457191 -0.396478 -0.244931

有谁知道为什么结果列名后跟一个逗号,并放在括号中?那是什么意思?注意:我在 Anaconda 中使用 Jupyter Notebooks。谢谢。

最佳答案

问题是 StdNumFeat 中的一级 MultiIndex,显然原因是由嵌套列表设置列名:

StdNumFeat.columns = [['Administrative', 'Administrative_Duration', 'Informational',
'Informational_Duration', 'ProductRelated']]

正确的做法:

StdNumFeat.columns = ['Administrative', 'Administrative_Duration', 'Informational',
'Informational_Duration', 'ProductRelated']

关于python - 使用 pd.concat() 时,生成的数据框列名称出现在括号中并添加逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60897820/

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