pandas:向数据帧添加缺失值

问题描述 投票:0回答:1

您好!我有输入数据

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,在完全没有数据的情况下,求解算法不清楚。

pandas dataframe missing-data
1个回答
0
投票

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
© www.soinside.com 2019 - 2024. All rights reserved.