В настоящее время у меня есть фреймворк данных, который является многоуровневым, причем первый уровень заголовка - это название компании, а второй уровень - дата, размер и точка для этого соответствующая компания. Я хочу установить индекс как дату, поэтому на втором уровне больше нет даты.У меня есть дата-кадр, который многоуровневый, как установить дату на втором уровне как общий индекс
Q
У меня есть дата-кадр, который многоуровневый, как установить дату на втором уровне как общий индекс
1
A
ответ
0
Я думаю, что вам нужно set_index
кортежей, для переименования index names
использования rename_axis
:
print (df)
name
date size price
0 2014-01-08 0.7990 422.65
1 2014-01-09 0.8095 421.26
2 2014-01-10 0.8135 423.35
3 2014-01-13 0.8065 417.78
df = df.set_index(('name','date')).rename_axis(None)
print (df)
name
size price
2014-01-08 0.7990 422.65
2014-01-09 0.8095 421.26
2014-01-10 0.8135 423.35
2014-01-13 0.8065 417.78
Редактируйте комментарием:
print (df.set_index([('name','date'), ('name','size')]))
name
price
(name, date) (name, size)
2014-01-08 0.7990 422.65
2014-01-09 0.8095 421.26
2014-01-10 0.8135 423.35
2014-01-13 0.8065 417.78
df = df.set_index([('name','date'), ('name','size')]).rename_axis(('date', 'size'))
print (df)
name
price
date size
2014-01-08 0.7990 422.65
2014-01-09 0.8095 421.26
2014-01-10 0.8135 423.35
2014-01-13 0.8065 417.78
Но есть несколько имен? Нужно ли мне устанавливать Кортеж каждого индивидуального имени? – MysterioProgrammer91
Да, точно. См. Править. – jezrael
Однако у меня более 1000 имен есть, не указав каждое индивидуальное имя? – MysterioProgrammer91