python给内置函数重命名_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-Like”输出.我的问题是我无法在这里重命名这个聚合变量.所以在Sql中,如果想做上述的事情,我会做这样的事情:

select ID, Region, sum(count) as Total_Numbers

from df

group by ID,Region

order by ID, Region

我们看到,在SQL中将聚合变量“count”重命名为Total_Numbers是非常容易的.我想在pandas做同样的事情,但是在groupby功能中找不到这样的选项.有人可以帮忙吗?

2).第二个问题和更多的观察是,是否可以直接使用Pandas数据框函数中的列名,并将它们包含在引号内?我知道变量名是字符串,所以必须在引号内,但是我看到如果使用外部数据帧函数,作为一个属性,我们不需要它们在引号内.像df.ID.sum()等等.只有当我们在DataFrame函数(如df.sort()或df.groupby)中使用它时,我们必须在引号内使用它.这实际上是像SQL或SAS或其他语言一样的痛苦,我们简单地使用变量名称而不引用它们.有什么建议吗?

请注意上述两点(第一个主要是第二个意见).

谢谢

你可能感兴趣的:(python给内置函数重命名)