2023-09-22 17:43:12 发布
网友
有一个带有(id,x)对的数据帧和一个感兴趣的id列表
我可以得到每个感兴趣的ID的x的总和,这可以通过df[['id','x']].groupby('id').agg('sum')实现
df[['id','x']].groupby('id').agg('sum')
但如果没有特定ID的记录,它将不会显示在结果中。如何为此类ID获取零?在SQL中,这将是一个外部联接
示例数据:
id x ------ 1 10 1 12 2 27 4 49
对于感兴趣的ID [1,2,3,4],预期结果是:
[1,2,3,4]
1 22 2 27 3 0 4 49
使用reindex
reindex
In [226]: (df.groupby('id').sum() .reindex(range(1, df['id'].max() + 1), fill_value=0) .reset_index()) Out[226]: id x 0 1 22 1 2 27 2 3 0 3 4 49
使用
reindex
相关问题 更多 >
编程相关推荐