Переименование имен столбцов в функции Pandas Groupby [дубликаты]
На этот вопрос уже есть ответ:
Несколько агрегатов одного столбца с использованием pandas GroupBy.agg () 3 ответа1). У меня есть следующий пример набора данных:
>>> df
ID Region count
0 100 Asia 2
1 101 Europe 3
2 102 US 1
3 103 Africa 5
4 100 Russia 5
5 101 Australia 7
6 102 US 8
7 104 Asia 10
8 105 Europe 11
9 110 Africa 23
Я хотел сгруппировать наблюдения этого набора данных по идентификатору региона и суммированию подсчета для каждой группы. Поэтому я использовал что-то вроде этого:
>>> print(df.groupby(['ID','Region'],as_index=False).count().sum())
ID Region count
0 100 Asia 2
1 100 Russia 5
2 101 Australia 7
3 101 Europe 3
4 102 US 9
5 103 Africa 5
6 104 Asia 10
7 105 Europe 11
8 110 Africa 23
При использовании as_index = False Я могу получить вывод типа «SQL». Моя проблема в том, что я не могу переименовать агрегат переменной переменной здесь. Таким образом, в SQL, если вы хотите сделать вышеуказанное, я бы сделал что-то вроде этого:
select ID, Region, sum(count) as Total_Numbers
from df
group by ID, Region
order by ID, Region
Как видим, мне очень легко переименовать агрегатную переменную count в Total_Numbers в SQL. Я хотел сделать то же самое в Pandas, но не смог найти такую опцию в функции group-by. Может кто-нибудь помочь?
2). Второй и еще один вопрос наблюдения заключается в том, можно ли напрямую использовать имена столбцов в функции кадра данных Pandas, не заключая их в кавычки? Я понимаю, что имена переменных являются строковыми, поэтому должны быть внутри кавычек, но я вижу, если использовать внешнюю функцию dataframe и как атрибут, мы не требуем, чтобы они были внутри кавычек. Как df.ID.sum () и т. Д. Только когда мы используем его в функции DataFrame, такой как df.sort () или df.groupby, мы должны использовать его внутри кавычек. На самом деле это немного болезненно, так как в SQL, SAS или других языках мы просто используем имя переменной без кавычек. Любое предложение по этому поводу?
Просьба предложить по двум вышеуказанным пунктам (1-й основной, 2-й более мнения).
Благодарност