Как установить в pandas первый столбец и строку как индекс?

Когда я читаю в CSV, могу сказать pd.read_csv('my.csv', index_col=3) и он устанавливает третий столбец как индекс.

Как я могу сделать то же самое, если у меня есть фрейм данных pandas в памяти? И как я могу сказать, чтобы использовать первую строку также как индекс? Первый столбец и строка - это строки, остальная часть матрицы - целая.

Ответ 1

Может быть, попробуйте set_index()?

df = df.set_index([2])

Ответ 2

Вы можете попробовать это независимо от количества строк

df= pd.read_csv('data.csv', index_col=0)

Ответ 3

Создание первого (или n-го) столбца индекса в порядке возрастания verboseness:

df.set_index(list(df)[0])
df.set_index(df.columns[0])
df.set_index(df.columns.tolist()[0])

Создание первой (или n-той) строки индекса:

df.set_index(df.iloc[0].values)

Вы можете использовать оба варианта, если вам нужен многоуровневый индекс:

df.set_index([df.iloc[0], df.columns[0]])

Обратите внимание, что использование столбца в качестве индекса автоматически отбрасывает его как столбец. Использование строки в качестве индекса - это всего лишь операция копирования и не будет выводить строку из DataFrame.

Ответ 4

Чтобы установить первый столбец в качестве индекса, вы можете попробовать:

df = df.set_index([[0]])