您好!我有输入数据
df = pd.DataFrame({'w':[1,1,2,2,2,3,3,3,4,4,4],
'user':['User2', 'User3','User1','User1','User2','User2','User2','User3','User1','User1','User3'],
'c':[7,2,3,1,2,5,4,6,9,8,7]})
第一周的输出数据中有user1,第一周的输入数据中缺少user1。我不明白如何自动将其添加到输出中。我就简单的替换掉Nan,在完全没有数据的情况下,求解算法不清楚。
将
user
列更改为分类类型,然后对数据框进行分组,并将 c
与 sum
聚合。更改为分类类型的好处是 groupby 将自动考虑丢失的用户
df['user'] = df['user'].astype('category')
df1 = df.groupby(['w', 'user'], as_index=False).sum()
print(df1)
w user c
0 1 User1 0
1 1 User2 7
2 1 User3 2
3 2 User1 4
4 2 User2 2
5 2 User3 0
6 3 User1 0
7 3 User2 9
8 3 User3 6
9 4 User1 17
10 4 User2 0
11 4 User3 7