сгруппировали различия в пандах с несколькими полями
В этой ситуации мы стремимся вычислять различия в оценках для разных комбинаций сайта и страны с течением времени. Дата:
df = df.sort_values (by = ['site', 'country', 'date'])
df = df.sort_values(by=['site', 'country', 'date'])
) ['Оценка']. Diff (). Fillna (0) Это генерирует различия в каждом сайте и группе страны и заполняет любые недостающие значения с 0.
df['diff'] = df.groupby(['site', 'country'])['score'].diff().fillna(0)
print (df) Выход: Дата сайта 8 2018-01-01 FB ES 100 0,0 9 2018-01-02 FB GB 100 0,0 5 2018-01-01 FB US 50 0,0 6 2018-01-02 FB US 55 5.0 7 2018-01-03 FB US 100 45.0 1 2018-01-01 Google CH 50 0,0 4 2018-01-02 Google CH 10 -40.0 0 2018-01-01 Google US 100 0,0 2 2018-01-02 Google US 70 -30.0 3 2018-01-03 Google US 60 -10.0
обратите внимание, что сортировка по произвольному заказу не поддерживается напрямую. Для таких сценариев рассмотрите возможность хранения вашего заказа в коллекции и сделать ваш столбец категориальным. Таким образом, SORT_VALUES будет совпадать с предоставленным заказом.
]
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3