Python 其他列中的熊猫、groupby和计数数据

Python 其他列中的熊猫、groupby和计数数据,python,pandas,numpy,data-science,data-analysis,Python,Pandas,Numpy,Data Science,Data Analysis,我有四列数据,包括:Id、CreationDate、Score和ViewCount CreationDate有下一个格式,例如:2011-11-30 19:41:14.960。 我需要按CreationDate的年份分组,计算它们,将Score和ViewCount相加,并添加到其他列中 我想和熊猫一起使用 谢谢 更改前-示例: Id CreationDate Score ViewCount 0 1 2011-11-30 19:15:54.0

我有四列数据,包括:
Id
CreationDate
Score
ViewCount

CreationDate
有下一个格式,例如:2011-11-30 19:41:14.960。 我需要按
CreationDate
的年份分组,计算它们,将
Score
ViewCount
相加,并添加到其他列中

我想和熊猫一起使用

谢谢

更改前-示例:

     Id   CreationDate              Score   ViewCount
0    1    2011-11-30 19:15:54.070   25      1526
1    2    2011-11-30 19:41:14.960   20      601
2    3    2012-11-30 19:42:45.470   36      1015
3    4    2018-11-30 19:44:55.593   8       1941
4    5    2011-11-30 19:53:23.387   11      5053
5    6    2018-11-30 20:04:43.757   25      5123
6    7    2011-11-30 20:08:23.267   53      8945
更改后-按如下方式显示数据:

     Id   CreationDate              Score   ViewCount
0    1    2011                      109     16125
2    3    2012                      36      1015
3    4    2018                      33      7064                            

对于具有聚合功能的列,您可以使用字典将列转换为年,并使用聚合功能将列聚合,如有必要,最后添加与原始
DataFrame
中相同顺序的列:

#if necessary convert to datetimes
df['CreationDate'] = pd.to_datetime(df['CreationDate'])

df1 = (df.groupby(df['CreationDate'].dt.year)
         .agg({'Id':'first', 'Score':'sum', 'ViewCount':'sum'})
         .reset_index()
         .reindex(columns=df.columns)
       )

print (df1)
   Id  CreationDate  Score  ViewCount
0   1          2011    109      16125
1   3          2012     36       1015
2   4          2018     33       7064