python重命列名_在Pandas Groupby函数中重命名列名

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

我想将这个数据集的观察结果按ID区域进行分组,并将每组的计数相加。所以我用了这样的东西:>>> 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

如我们所见,在SQL中将聚合变量“count”重命名为Total_Numbers对我来说非常简单。我想在熊猫身上做同样的事情,但在按功能分组时找不到这样的选择。有人能帮忙吗?

(第二章)。第二个问题和更多的观察是,是否可以直接使用Pandas数据帧函数中的列名,而不将它们括在引号中?我知道变量名是字符串,所以必须在引号内,但我想知道是否使用外部dataframe函数,并且作为一个属性,我们不要求它们在引号内。例如df.ID.sum()等,只有在数据帧函数中使用它时,例如df.sort()或df.groupby,我们必须在引号中使用它。这实际上有点痛苦,因为在SQL、SAS或其他语言中,我们只是使用变量名而不引用它们。有什么建议吗?

请就以上两点提出建议(一是主要意见,二是更多意见)。

谢谢

你可能感兴趣的:(python重命列名)