Python 在Dataframe中重建列名

Python 在Dataframe中重建列名,python,pandas,dataframe,Python,Pandas,Dataframe,假设我有这样一个数据帧: Height Speed 0 4.0 39.0 1 7.8 24.0 2 8.9 80.5 3 4.2 60.0 然后,通过一些特征提取,我得到: 0 39.0 1 24.0 2 80.5 3 60.0 但是,我希望它是一个列索引仍然存在的数据帧。您如何获得以下信息 Speed 0 39.0 1 24.0 2 80.5 3 60.0 我正在寻找一个答案,将原始列与

假设我有这样一个数据帧:

   Height  Speed
0     4.0   39.0
1     7.8   24.0
2     8.9   80.5
3     4.2   60.0
然后,通过一些特征提取,我得到:

0    39.0
1    24.0
2    80.5
3    60.0
但是,我希望它是一个列索引仍然存在的数据帧。您如何获得以下信息

   Speed
0   39.0
1   24.0
2   80.5
3   60.0
我正在寻找一个答案,将原始列与新列进行比较,并确定新列必须命名为Speed。换句话说,它不应该只是重命名新列“Speed”

这里是特征提取:假设X是原始数据帧,X1是缺少列名的返回数组

    svc = SVC(kernel="linear")
    rfecv = RFECV(estimator=svc, step=1, cv=StratifiedKFold(2),
                  scoring='accuracy')
    X1=rfecv.fit_transform(X, y)
谢谢

编辑:

对于我收到的评论,我将澄清我的模棱两可之处。我相信上面的特征提取方法采用数据帧或序列/数组。然后,它返回一个数组。我正在向它传递一个数据帧。此数据框包含列标签和数据。但是,它返回一个缺少列名的数组。另一个警告是,这在总体上必须是含糊不清的。我无法显式命名我的列,因为这些列将在我的程序中更改。它可以返回两个数组,四个数组。。。我正在寻找一种方法,将原始数据帧与特征提取后给出的数组进行比较,并认识到新数组是原始数据帧的“子集”。然后,用原始列名标记它。让我知道你的想法!很抱歉,各位,谢谢你们的帮助。

经过调整后,有一个名为
支持
的属性,它是选定功能的布尔掩码。您可以通过执行以下操作获取所选要素的名称:

selected\u cols=original\u df.columns[rfecv.support]


放松点

生成特征提取的代码是什么?请包括在内,这重要吗?我不想包含不需要的代码。本质上,它接受一个dataframe列,并将其转换为一个缺少列名的np.array。如果您觉得正确回答这个问题很重要,我会发布代码。是的,因为如果您可以修改代码以保留数据帧,为什么让它中断以稍后修复?预防胜于治疗,你不同意吗?好了。谢谢~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1mm,也许你可以考虑通过2D数组X来自哪里?您是否执行了
X=df['col']
?尝试类似于
X=df[[col']]