从postgres中的索引获取相应的列名

时间:2015-12-11 21:52:38

标签: sql postgresql

我希望将表中的列名映射到同一个表中的相应索引(位置)编号。所以这就是我所拥有的。

我有一个普通的数据表,有320个功能。每个功能都有一个列名。现在我运行我的机器学习算法,结果存储在另一个表中,该表只有一行,如下所示:

    func grabSong(){
    let SongQuery = PFQuery(className: "songs")
    SongQuery.getObjectInBackgroundWithId(iDArray[SelectedSongNumber], block:{

        (object: PFObject?, error:NSError?)-> Void in

        if let AudioFileURLTemp = object?.objectForKey("songFile")?.url {

           AudioPlayer = AVPlayer(URL: NSURL(string: AudioFileURLTemp! ))
        AudioPlayer.play()
        }
})

如您所见,它具有以下列。

特征 - 这是列表数组的形式,其中每个列表是原始数据表中列的索引。此列应提供320个要素索引。

Features_selected:此列仅包含为模型选择的功能。同样是一系列特征索引

Coef_all:所有特征的权重/系数。同样,该阵列中的每个权重与特征数组中的每个特征具有1-1对应关系。

Coef_selected:只有非零系数。

现在我对此结果数据运行此查询以取消每个要素,而不是一行,我将获得320行,每行具有每个要素的索引以及相应的系数。

代码和弹性输出如下图所示。

enter image description here

所以现在我有一个特征索引列表及其相应的系数,但我想用实际的列名映射每个特征索引。如上所述,实际列名称存在于具有整个数据的原始基表中。我们可以使用该表的信息模式,并获得带索引的相应功能名称。?

由于

1 个答案:

答案 0 :(得分:0)

你可以尝试运气

SELECT column_name, ordinal_position
FROM information_schema.columns
WHERE table_schema = '<schema_name>'
AND table_name   = '<table_name>';

使用相应的架构和表名。 oridnal_position 值指的是您的索引, column_name 是此索引处列的名称。

提供了一种比我更好的替代解决方案here