In [21]: df = pd.DataFrame([(1,2,3), ('foo','bar','baz'), (4,5,6)])
In [22]: df
Out[22]:
0 1 2
0 1 2 3
1 foo bar baz
2 4 5 6
Stellen Sie die Spaltenbeschriftungen so ein, dass sie den Werten in der 2. Zeile (Indexposition 1) entsprechen:
In [23]: df.columns = df.iloc[1]
Wenn der Index eindeutige Beschriftungen hat, können Sie die zweite Zeile mit folgenden Elementen löschen:
In [24]: df.drop(df.index[1])
Out[24]:
1 foo bar baz
0 1 2 3
2 4 5 6
Wenn der Index nicht eindeutig ist, können Sie Folgendes verwenden:
In [133]: df.iloc[pd.RangeIndex(len(df)).drop(1)]
Out[133]:
1 foo bar baz
0 1 2 3
2 4 5 6
Mit df.drop(df.index[1])
wird alle Zeilen mit derselben Bezeichnung wie die zweite Zeile entfernt. Da nicht eindeutige Indizes zu solchen Stolpersteinen (oder potenziellen Fehlern) führen können, ist es oft besser, darauf zu achten, dass der Index eindeutig ist (obwohl Pandas dies nicht benötigt).