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
Встановіть мітки стовпців на рівні значень у другому ряду (розташування індексу 1):
In [23]: df.columns = df.iloc[1]
Якщо індекс має унікальні мітки, ви можете скинути другий рядок, використовуючи:
In [24]: df.drop(df.index[1])
Out[24]:
1 foo bar baz
0 1 2 3
2 4 5 6
Якщо індекс не унікальний, ви можете використовувати:
In [133]: df.iloc[pd.RangeIndex(len(df)).drop(1)]
Out[133]:
1 foo bar baz
0 1 2 3
2 4 5 6
Використання df.drop(df.index[1])
видаляє всі рядки з тією ж міткою, що і другий ряд. Оскільки не унікальні індекси можуть призводити до таких каменів спотикання (або потенційних помилок), часто краще подбати про те, щоб індекс був унікальним (навіть якщо Pandas цього не вимагає).