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