我正在尝试在数据透视表上放置一个过滤器,因此,我只想在C列为“ UGX”时在F列上聚合值。
我是在下面的代码上完成的:
table = pd.pivot_table(df,index=["B"], values=["F"],
columns=[df.D=="UGX"], aggfunc=np.sum)
我得到以下结果:
F
D False True
B
0.0 0.000000e+00 NaN
1.0 5.803969e+07 3.313538e+09
2.0 4.293864e+11 6.584239e+11
4.0 4.849234e+10 1.457356e+11
5.0 6.609481e+10 2.478473e+11
6.0 0.000000e+00 0.000000e+00
10.0 1.108451e+10 1.288109e+10
13.0 -3.000000e+10 -3.000000e+10
14.0 7.115493e+08 2.473186e+09
15.0 NaN 0.000000e+00
17.0 1.969734e+07 NaN
18.0 1.477040e+11 0.000000e+00
我只想查看“ True”下的值
请协助。 谢谢,
答案 0 :(得分:1)
不是将完整df作为pd.pivot_table中的第一个参数传递,而是将df仅过滤到列C为'UGX'的位置,并将其作为pivot_table中的第一个参数传递。让我们尝试一下:
table = pd.pivot_table(df[df.D == 'UGX'], values=["F"], columns=[df.D=="UGX"], aggfunc=np.sum)