Могу ли я иметь 2 индекса в одном фрейме данных? - PullRequest
0 голосов
/ 13 июля 2020

Я работаю с компьютерным моделированием и использую множество переменных, которые меняются от одного моделирования к другому. Мне приходится проводить короткое, но многочисленное моделирование (например, 1000+), поэтому очень важно отслеживать их.

До сих пор я просто добавлял новые столбцы с данными внутри. Таким образом, мои данные будут выглядеть примерно так.

DataX, DataY, DataZ, variable1, variable2, variable3, ....

Итак, я в основном создавал по одному столбцу для каждой переменной.

Каждый раз, когда мне нужно было получить новые переменные, я добавлял их как новый столбец .

Неэффективно, но, по крайней мере, все было в одном файле, что было весьма удобно. сделайте так, чтобы кто угодно мог продолжать его использовать.

Дело в том, что каждая из этих переменных также имеет еще две под-переменные.

Итак, я создал новую функцию, которая собирает все эти переменные и делает аккуратный маленький фреймворк, который выглядит так

Parameter    Value    Lambda    Mod
temperature  10       1         0
VarE         1.5      5         0.5

et c

Чтобы сделать его легко доступным, я также включил Parameter в качестве индекса, чтобы я мог использовать df_param.loc ['VarE' , 'Value'] например

Однако из-за этого они не все в одном файле. Что не удобно. Поскольку при построении графика им придется использовать более 1000 файлов данных и фильтровать все, разделение параметра от данных может привести к ошибкам (что невозможно в atm, поскольку все находится в одном файле).

Если я конвертирую «параметр» в столбец, я могу легко это сделать

Индекс DataX, DataY, DataZ, Параметр, Значение, Лямбда, Mod

Проблема, с которой я столкнулся (в основном с практической точки зрения) заключается в том, что, поскольку параметр больше не является индексом, я больше не могу выполнять df_param.loc ['VarE', 'Value']. Мне нужно было бы точно знать, что такое индекс 'VarE' и сделать df.param.loc ['index', 'value'] и с более чем 15 параметрами на выбор, это немного схематично.

В принципе, есть ли способ иметь 2 индекса? например Один индекс для DataX, DataY, DataZ (назовем его 'dt') и один для Value Lambda и Mod, который будет 'Parameter'

Итак, два df в одном в основном.

Спасибо заранее

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...