从 Pandas 的索引中检索列的名称

Posted

技术标签:

【中文标题】从 Pandas 的索引中检索列的名称【英文标题】:Retrieve name of column from its Index in Pandas 【发布时间】:2017-08-21 11:01:49 【问题描述】:

我有一个 pandas 数据框和该数据框的一个 numpy 值数组。 我有一个特定列的索引,并且我已经有了一个重要值的行索引。现在我需要从我的数据框中获取该特定值的列名。

在搜索文档后,我发现我可以做相反的事情,但不是我想要的。

【问题讨论】:

【参考方案1】:

我认为您需要按位置索引列名称(python 从0 计数,所以第四列需要3):

colname = df.columns[pos]

示例:

df = pd.DataFrame('A':[1,2,3],
                   'B':[4,5,6],
                   'C':[7,8,9],
                   'D':[1,3,5],
                   'E':[5,3,6],
                   'F':[7,4,3])

print (df)
   A  B  C  D  E  F
0  1  4  7  1  5  7
1  2  5  8  3  3  4
2  3  6  9  5  6  3

pos = 3
colname = df.columns[pos]
print (colname)
D

pos = [3,5]
colname = df.columns[pos]
print (colname)
Index(['D', 'F'], dtype='object')

【讨论】:

以上是关于从 Pandas 的索引中检索列的名称的主要内容,如果未能解决你的问题,请参考以下文章

获取pandas数据框中每一列的前k个元素的索引的快速方法

如何从包含Python3中特定索引和列的列表的dict创建Pandas DataFrame?

Pandas 使用索引名称作为列名创建 Dataframe

groupby pandas:插入列的索引与框架索引不兼容

Pandas - 索引操作

Pandas 从重采样中检索添加行的索引