熊猫:如何获得列的位置?

A.B*_*oss 9 position multiple-columns pandas

我需要帮助来获取列的位置或以其他方式读取列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
Run Code Online (Sandbox Code Playgroud)

EdC*_*ica 9

IIUC你可以使用 .get_loc

所以:

pos = Exceldata.columns.get_loc(Spannung[0])
Run Code Online (Sandbox Code Playgroud)

然后你可以索引左边:

other_col = Exceldata.columns[pos -2]
Run Code Online (Sandbox Code Playgroud)

例子:

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'
Run Code Online (Sandbox Code Playgroud)