Допустим, у меня есть следующий DataFrame с несколькими индексами как для индекса, так и для столбцов.
first x y
second m n
A B
A0 B0 0 0
B1 0 0
A1 B0 0 0
B1 0 0
Я пытаюсь обновить значения с условием. Условие будет примерно таким:
`Правила:
[{condition:{'A':'A0,'B':'B0'},value:5},
{condition:{'B':'B1'},value:3},
.....]
Я пытаюсь найти что-то похожее на
Используйте pandas.DataFrame.xs
для Настройка Значение:
for each rule in rules:
df.xs((conditions.values), level=[conditions.keys]) = value
Пропустить более одного уровня на pandas.Index.get_level_values
для значения настройки:
for each rule in rules:
df.loc[df.index.get_level_values(conditions.keys) == [conditions.values] = value
Результат должен быть
first x y
second m n
A B
A0 B0 5 5
B1 3 3
A1 B0 0 0
B1 3 3`