Pandas: 如何获取列的位置?

Pandas: How to get position of columns?

我需要帮助来获取列的位置,或者需要其他方法来读取列 Spannung 左侧两步的列。

Exceldata = pd.read_excel(str(Dateien[0]), header=[2])
print Dateien[0]
Spannung = Exceldata.columns[Exceldata.columns.str.contains('Spannung effektiv L1')]
print Spannung

IIUC 你可以使用 .get_loc

所以:

pos = Exceldata.columns.get_loc(Spannung[0])

然后你可以向左索引:

other_col = Exceldata.columns[pos -2]

示例:

In [169]:
df = pd.DataFrame(columns=['hello','world','python','pandas','Spannung effektiv L1', 'asdas'])
spannung = df.columns[df.columns.str.contains('Spannung')]
spannung

Out[169]:
Index(['Spannung effektiv L1'], dtype='object')

In [178]:
pos = df.columns.get_loc(spannung[0])
df.columns[pos-2]

Out[178]:
'python'