recorded_date value data_type
0 2022-01-03 2.39000 speed
1 2022-01-02 9.22000 rate
Записей будет много, data_typeов всегда два, мне нужно записать в массивы все value для каждой даты для каждого data_type, т.е. на выводе должно быть что-то вроде этого:
{
"2022-01-01": {
"speed": [val1, val2, val3],
"rate": [val1, val2, val3],
},
"2022-01-02": {
"speed": [val1, val2, val3],
"rate": [val1, val2, val3],
}
...
}
Все это для того чтобы посчитать корреляцию по Пирсону между rate и speed для каждой даты. Как мне groupbyами и агрегейтами добиться такого?
гитхаб копайлот сделал это за меня. Спасибо всем. data = {} for date in df["recorded_date"].unique(): data[date] = {} for data_type in df["data_type"].unique(): data[date][data_type] = df[df["recorded_date"] == date][df["data_type"] == data_type]["value"].tolist()
Когда читаешь код, где переменные названы data, date, value, понимаешь, что автор шёл по пути ниндзя
Кстати, я правильно понимаю, что в предпоследней строке - фильтрация Фрейма по 2 условиям? Тогда это пример дурного кода, на который панда как минимум ругается предупреждениями и поделом
Обсуждают сегодня