我有这样一个数据帧:
>>> df = pd.DataFrame( {'level01': [10, 20, 20, 30, 40, 50, 60], 'level02': [110, 210, 150, 310, 410, 510, 610], 'value01': [1, 0, 0, 2, 0, 0, 3], 'value02': [0, 3, 0, 1, 0, 0, 1]} )
>>> df
level01 level02 value01 value02
0 10 110 1 0
1 20 210 0 3
2 20 150 0 0
3 30 310 2 1
4 40 410 0 0
5 50 510 0 0
6 60 610 3 1
每个值列对应于它的级别列。例如,df['value01'][0]
,即1,表示级别df['level01'][0]
,即10的值。(级别10的值为1)
我想提取0的每个值行及其级别,并生成一个透视表。结果是:
level, value
0 20 2
1 40 1
2 50 1
3 110 1
4 150 1
5 410 1
6 510 1
我试过df.pivot_table( values=df[['value01', 'value02']], index=df[['level01', 'level02']], aggfunc='count')
,但结果与我的想法大不相同
value01 value02
level01 level02
10 110 1 1
20 150 1 1
210 1 1
30 310 1 1
40 410 1 1
50 510 1 1
60 610 1 1
我怎样才能得到我想要的结果?如果我能得到一些帮助我会很感激的
在列中创建} 重塑形状,因此可能只按^{} 过滤} 过滤每个组的最后一次获取计数:
MultiIndex
,按^{0
值,按^{如果在第一步中只有} ,则解决方法是:
2
列是create helperDataFrame
with ^{相关问题 更多 >
编程相关推荐