У меня есть многоуровневый фрейм данных со следующей информацией:
A B 123 1 value1 value2
654 2 value3 value4
C D 543 2 value1 value2
999 2 value5 value7
Я хочу выбрать, например, только одно значение 123 или 654 или 543 et c (часть индекса), используя значения индекса A и B (или C и D). Значения A, B, C, D ограничены, поэтому их можно легко найти по списку в al oop. Но значения 123, 654 или 543 могут варьироваться в диапазоне от 0 до 20000, поэтому использование l oop делает его очень медленным.
Спасибо. Предоставление более подробной информации: я пытаюсь получить доступ к dataframe df (созданному вами в ответе) с помощью циклов. df - большой фрейм данных.
введите код здесь
# Dataframe df1 have 2 columns with with subset of values in level0 and #level1 of df1.
for index1 in range(len(df1)):
for index2 in range(len(df1)):
# x, y will fetch particular value of level0 & level1 respectively
x = df1.loc[(index1),'level0column']
y = df1.loc[(index2),'level1column']
# Trying to get values for level2 values
for level2ids in range(20000):
for level3ids in range(2):
total1 = df.loc[(x,y, level2ids,level3ids), 'value_x']
......
Хотите заменить нижнюю строку кода.
# Trying to get values for level2 values
for level2ids in range(20000):
Поскольку df - большой фрейм данных, и я выбирая значения level0 и level1 во время выполнения, я хотел как-то захотеть получить значение level2 также во время выполнения. Извлечение значения level2 для определенного значения level0 и level1 даст мне только список с очень меньшими значениями. Интересно, возможно это или нет, а также задаюсь вопросом, должен ли я прояснить свою проблему или нет.