如何获得具有已知名称的列左侧的列名称?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获得具有已知名称的列左侧的列名称?相关的知识,希望对你有一定的参考价值。
如果我有一个读入熊猫的excel表格,我如何获得另一列我们知道名称的列的名称?问题的原因是,我们获得的Excel工作表包含命名和未命名列。
没有列名的列会自动命名为“未命名:x”(其中x是数字)。
因为我有一列具有已知名称,并且我也知道它的左侧是包含我需要的值的列,所以我想使用命名列作为引用来获取未知名称命名列。
示例:这些列,如果我在python中打印它们:
in: df.columns
out: Index(['Col1', 'Col2', 'Col3',
'Col4', 'Col5', 'Col6', 'Col7',
'Col8', 'Col9', 'Col10',
'Col11', 'Col12', 'Col13',
'Col14', 'Col15', 'Unnamed: 15', 'Unnamed: 16',
'Unnamed: 17', 'Col19', 'Col20', 'Unnamed: 20',
'Col22', 'Col23',
'Col24', 'Col25', 'Col26', 'Col27', 'Unnamed: 27',
'Unnamed: 28', 'Filename', 'Unnamed: 30', 'Unnamed: 31',
'Unnamed: 32', 'Unnamed: 33', 'Unnamed: 34', 'Unnamed: 35',
'Unnamed: 36', 'Unnamed: 37', 'Unnamed: 38', 'Unnamed: 39',
'Unnamed: 40', 'Unnamed: 41', 'Unnamed: 42', 'Unnamed: 43',
'Unnamed: 44', 'Unnamed: 45'],
dtype='object')
如可以在这里看到的,有一个名为“文件名”的列,在它的左侧有一个自动命名为“未命名:28”的列。因为它可以更改基于未命名列数量的名称,所以我需要使用“ Filename”列作为引用来获取列名称“ Unnamed:28”,以便以后我可以从该列获取其他值目的。
有什么建议吗?
编辑:
我找到了解决该问题的另一种方法。使用get_indexer,我可以获取该列的索引,并使用它来获取该列中的数据。
df.iloc[:, df.columns.get_indexer(['Filename'])-1]
答案
您可以找到您知道的名称的列的索引,减一,然后找到您不知道的列的名称:
column_number = [i-1 for i, x in enumerate(df.columns) if x=='Filename']
df.columns[column_number[0]]
在您的专栏中输入'Unnamed 28'
也就是说,我认为正确导入数据而不是随后进行更正可能会有所回报。
以上是关于如何获得具有已知名称的列左侧的列名称?的主要内容,如果未能解决你的问题,请参考以下文章