[英]Pandas Groupby For Missing Rows
我有一個看起來像這樣的數據框(實際 df 包含百萬行),由第 1,2 和第 3 周的數據組成。如果該周的數量為 0,則行不存在。 例如,第 2 周的產品 A 數量=0,因此數據框中沒有顯示第 2 周的行。
產品 | 星期 | 數量 |
---|---|---|
一種 | 1 | 10 |
一種 | 1 | 10 |
一種 | 3 | 10 |
乙 | 2 | 10 |
乙 | 2 | 10 |
我想分組到這個數據框中,顯示每周的數量,包括 Qty=0 時的數量。 如何實現這一目標? 謝謝你。
產品 | 星期 | 數量 |
---|---|---|
一種 | 1 | 20 |
一種 | 2 | 0 |
一種 | 3 | 10 |
乙 | 1 | 0 |
乙 | 2 | 20 |
乙 | 3 | 0 |
#Groupby and sum
df1=df.groupby(['Product','Week'])['Qty'].sum().to_frame()
#reindex, multiindex
df1.reindex( pd.MultiIndex.from_product([df1.index.levels[0],
df['Week'].unique()], names=['Product', 'Week']),fill_value=0).reset_index()
Product Week Qty
0 A 1 20
1 A 3 10
2 A 2 0
3 B 1 0
4 B 3 0
5 B 2 20
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.