注意:我的问题标题有问题,所以如果你能想出更好的东西来帮助其他有类似问题的人,请告诉我,我会改变它.
存储为Pandas DataFrame
print(df)
week | site | vol
1 | a | 10
2 | a | 11
3 | a | 2
1 | b | 55
2 | b | 1
1 | c | 69
2 | c | 66
3 | c | 23
Run Code Online (Sandbox Code Playgroud)
请注意,站点b没有第3周的数据
week | site | vol
1 | a | 10
2 | a | 11
3 | a | 2
1 | b | 55
2 | b | 1
3 | b | 0
1 | c | 69
2 | c | 66
3 | c | 23
Run Code Online (Sandbox Code Playgroud)
从本质上讲,我希望所有的独特组合,创建行week和site.如果原始数据没有vol用于week-site组合,那么它得到一个0.
使用stack与unstack
df.set_index(['week','site']).unstack('week',fill_value=0).stack().reset_index()
Out[424]:
site week vol
0 a 1 10
1 a 2 11
2 a 3 2
3 b 1 55
4 b 2 1
5 b 3 0
6 c 1 69
7 c 2 66
8 c 3 23
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34 次 |
| 最近记录: |