Pandas:如何获取列的位置?

10

我需要帮助获取列的位置或者另一种方法来读取位于列 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

这个回答解决了你的问题吗?如何获取数据框中某一列的位置编号 - undefined
1个回答

13

据我理解,您可以使用.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'

因为Spannung看起来像这样 - A.Boss
索引([u'有效电压L1(V)'],dtype ='object') - A.Boss
抱歉,我忘了你得到了一个IndexArray,你需要索引到IndexArray以返回标量,请看我的编辑。 - EdChum
我只是想问一下你的进展如何。你搞定了吗? - A.Boss

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接