是否有可能重组一个支点table?
Is there a possibility to restructure a pivot table?
Access Risk ID User ID
SOD05 144
SOD05A 74
SOD06 140
SOD07A 50
SOD08A 30
... ...
SOD77B 30
SOD78 30
SOD78A 30
SOD78B 30
SOD80 66
大家好,
我有上面的支点。我希望列出与访问风险 ID 列相关的每个用户 ID,而不是用户 ID 的计数(因此 SOD05 为 144 行)......
我还没有在 Whosebug 上找到这个问题的答案。如果你们中的一个人可以帮助我,那将非常有帮助
请帮忙~!
我使用的代码:
pivot1 = pd.pivot_table(dfpivot, index='Access Risk ID', values = ['User ID'], aggfunc='count')
pivot1
输入:
| User ID | Access Risk ID | Executed within the Q? |
|--------------|----------------|:----------------------:|
| ACHINE | SOD05 | TRUE |
| ACHINE | SOD05 | FALSE |
| AHOFMA | SOD05 | TRUE |
| AHOFMA | SOD05 | TRUE |
| AZILZ | SOD05 | TRUE |
| AZILZ | SOD05 | TRUE |
| BKACZM | SOD05 | TRUE |
| BKACZM | SOD05 | TRUE |
| CAFERR | SOD05 | TRUE |
| CAFERR | SOD05 | FALSE |
| CAUTRE | SOD05 | FALSE |
| CAUTRE | SOD05 | FALSE |
| CDIERKES | SOD05 | TRUE |
| CDIERKES | SOD05 | FALSE |
| CHEISE | SOD05 | TRUE |
| CHEISE | SOD05 | FALSE |
| CMOLDO | SOD05 | TRUE |
| CMOLDO | SOD05 | FALSE |
| DAYBEK | SOD05 | TRUE |
| DAYBEK | SOD05 | FALSE |
| DCHLUDOVA | SOD05 | TRUE |
| DCHLUDOVA | SOD05 | FALSE |
| DDIC | SOD05 | FALSE |
| DDIC | SOD05 | FALSE |
| DVDSTRAETEN | SOD05 | TRUE |
| DVDSTRAETEN | SOD05 | FALSE |
| EGAVRY | SOD05 | TRUE |
| EGAVRY | SOD05 | TRUE |
| ETROCH | SOD05 | TRUE |
| ETROCH | SOD05 | TRUE |
| EVDHAEGEN | SOD05 | TRUE |
| EVDHAEGEN | SOD05 | FALSE |
| FF_BASIS | SOD05 | TRUE |
| FF_BASIS | SOD05 | FALSE |
| FF_BASIS_CON | SOD05 | FALSE |
| FF_BASIS_CON | SOD05 | FALSE |
| FF_CTAC | SOD05 | FALSE |
| FF_CTAC | SOD05 | FALSE |
| FF_DEBUG | SOD05 | FALSE |
| FF_DEBUG | SOD05 | FALSE |
| FF_DEBUG_01 | SOD05 | FALSE |
| FF_DEBUG_01 | SOD05 | FALSE |
| FF_DEBUG_02 | SOD05 | TRUE |
| FF_DEBUG_02 | SOD05 | FALSE |
| FF_DEBUG_FIN | SOD05 | TRUE |
| FF_DEBUG_FIN | SOD05 | FALSE |
| FF_DEBUG_PRD | SOD05 | FALSE |
| FF_DEBUG_PRD | SOD05 | FALSE |
| FF_DEBUG_RET | SOD05 | FALSE |
| FF_DEBUG_RET | SOD05 | FALSE |
| FF_DEBUG_SRC | SOD05 | FALSE |
| FF_DEBUG_SRC | SOD05 | FALSE |
| FF_DEBUGT | SOD05 | FALSE |
| FF_DEBUGT | SOD05 | FALSE |
| FF_FIN | SOD05 | FALSE |
| FF_FIN | SOD05 | FALSE |
| FF_FINT | SOD05 | FALSE |
| FF_FINT | SOD05 | FALSE |
| FPHILIPS | SOD05 | TRUE |
| FPHILIPS | SOD05 | FALSE |
| FSOYLU | SOD05 | TRUE |
| FSOYLU | SOD05 | TRUE |
| FVDVAEREN | SOD05 | TRUE |
| FVDVAEREN | SOD05 | FALSE |
| GANGAROVA | SOD05 | TRUE |
| GANGAROVA | SOD05 | FALSE |
| JDELANG | SOD05 | TRUE |
| JDELANG | SOD05 | TRUE |
| JDHONDT | SOD05 | TRUE |
| JDHONDT | SOD05 | FALSE |
| JKIMML | SOD05 | TRUE |
| JKIMML | SOD05 | TRUE |
| KAGRAS | SOD05 | TRUE |
| KAGRAS | SOD05 | FALSE |
| KFOUCA | SOD05 | TRUE |
| KFOUCA | SOD05 | FALSE |
| KMUELL | SOD05 | TRUE |
| KMUELL | SOD05 | TRUE |
| KREGIN | SOD05 | TRUE |
| KREGIN | SOD05 | FALSE |
| LBUGGENHOUT | SOD05 | TRUE |
| LBUGGENHOUT | SOD05 | FALSE |
| LBUYCK | SOD05 | TRUE |
| LBUYCK | SOD05 | FALSE |
| LCROMBRUGGE | SOD05 | TRUE |
| LCROMBRUGGE | SOD05 | FALSE |
| LLAMER | SOD05 | TRUE |
| LLAMER | SOD05 | FALSE |
| LPUTMANS | SOD05 | TRUE |
| LPUTMANS | SOD05 | FALSE |
| LSTANI | SOD05 | TRUE |
| LSTANI | SOD05 | TRUE |
| MDEMETSER | SOD05 | TRUE |
| MDEMETSER | SOD05 | FALSE |
| MIGNACEK | SOD05 | FALSE |
| MIGNACEK | SOD05 | FALSE |
| MINDEN | SOD05 | TRUE |
| MINDEN | SOD05 | TRUE |
| MMARKO | SOD05 | FALSE |
| MMARKO | SOD05 | FALSE |
| MVERVR | SOD05 | TRUE |
| MVERVR | SOD05 | TRUE |
| MVINCK | SOD05 | TRUE |
| MVINCK | SOD05 | TRUE |
| NAGARC | SOD05 | FALSE |
| NAGARC | SOD05 | FALSE |
| OSS | SOD05 | FALSE |
| OSS | SOD05 | FALSE |
| PAUGUS | SOD05 | TRUE |
| PAUGUS | SOD05 | FALSE |
| PCRAEN | SOD05 | TRUE |
| PCRAEN | SOD05 | FALSE |
| PCUMAL | SOD05 | TRUE |
| PCUMAL | SOD05 | TRUE |
| PSTEPPE | SOD05 | TRUE |
| PSTEPPE | SOD05 | FALSE |
| RPEREZ15 | SOD05 | TRUE |
| RPEREZ15 | SOD05 | FALSE |
| RWILLE | SOD05 | TRUE |
| RWILLE | SOD05 | FALSE |
| SCOLSON | SOD05 | TRUE |
| SCOLSON | SOD05 | TRUE |
| SEYLEN | SOD05 | FALSE |
| SEYLEN | SOD05 | FALSE |
| SKOENN | SOD05 | TRUE |
| SKOENN | SOD05 | TRUE |
| SLECLERE | SOD05 | TRUE |
| SLECLERE | SOD05 | FALSE |
| SMARTE | SOD05 | TRUE |
| SMARTE | SOD05 | FALSE |
| SPOSSE | SOD05 | TRUE |
| SPOSSE | SOD05 | FALSE |
| SPULLI | SOD05 | TRUE |
| SPULLI | SOD05 | FALSE |
| STHUR | SOD05 | TRUE |
| STHUR | SOD05 | TRUE |
| STWYNS | SOD05 | TRUE |
| STWYNS | SOD05 | TRUE |
| SWOLF | SOD05 | TRUE |
| SWOLF | SOD05 | TRUE |
| VCUBIA | SOD05 | TRUE |
| VCUBIA | SOD05 | FALSE |
| VINBOM | SOD05 | TRUE |
| VINBOM | SOD05 | FALSE |
我想要这样的支点:
Access Risk ID User ID
SOD05 AHOFMA
AZILZ
BKACZM
EGAVRY
ETROCH
FSOYLU
JDELANG
JKIMML
KMUELL
LSTANI
MINDEN
MVERVR
MVINCK
PCUMAL
SCOLSON
SKOENN
STHUR
STWYNS
SWOLF
就像我在评论中建议的那样,您可以使用 groupby:
print(df.groupby(['Access Risk ID', 'User ID']).sum())
本例中的总和是剩余列的总和(在您的例子中是“在 Q 内执行?”),您将得到:
Executed within the Q?
Access Risk ID User ID
SOD05 ACHINE 1
AHOFMA 2
AZILZ 2
BKACZM 2
CAFERR 1
... ...
STHUR 2
STWYNS 2
SWOLF 2
VCUBIA 1
VINBOM 1
Access Risk ID User ID
SOD05 144
SOD05A 74
SOD06 140
SOD07A 50
SOD08A 30
... ...
SOD77B 30
SOD78 30
SOD78A 30
SOD78B 30
SOD80 66
大家好,
我有上面的支点。我希望列出与访问风险 ID 列相关的每个用户 ID,而不是用户 ID 的计数(因此 SOD05 为 144 行)......
我还没有在 Whosebug 上找到这个问题的答案。如果你们中的一个人可以帮助我,那将非常有帮助 请帮忙~! 我使用的代码:
pivot1 = pd.pivot_table(dfpivot, index='Access Risk ID', values = ['User ID'], aggfunc='count')
pivot1
输入:
| User ID | Access Risk ID | Executed within the Q? |
|--------------|----------------|:----------------------:|
| ACHINE | SOD05 | TRUE |
| ACHINE | SOD05 | FALSE |
| AHOFMA | SOD05 | TRUE |
| AHOFMA | SOD05 | TRUE |
| AZILZ | SOD05 | TRUE |
| AZILZ | SOD05 | TRUE |
| BKACZM | SOD05 | TRUE |
| BKACZM | SOD05 | TRUE |
| CAFERR | SOD05 | TRUE |
| CAFERR | SOD05 | FALSE |
| CAUTRE | SOD05 | FALSE |
| CAUTRE | SOD05 | FALSE |
| CDIERKES | SOD05 | TRUE |
| CDIERKES | SOD05 | FALSE |
| CHEISE | SOD05 | TRUE |
| CHEISE | SOD05 | FALSE |
| CMOLDO | SOD05 | TRUE |
| CMOLDO | SOD05 | FALSE |
| DAYBEK | SOD05 | TRUE |
| DAYBEK | SOD05 | FALSE |
| DCHLUDOVA | SOD05 | TRUE |
| DCHLUDOVA | SOD05 | FALSE |
| DDIC | SOD05 | FALSE |
| DDIC | SOD05 | FALSE |
| DVDSTRAETEN | SOD05 | TRUE |
| DVDSTRAETEN | SOD05 | FALSE |
| EGAVRY | SOD05 | TRUE |
| EGAVRY | SOD05 | TRUE |
| ETROCH | SOD05 | TRUE |
| ETROCH | SOD05 | TRUE |
| EVDHAEGEN | SOD05 | TRUE |
| EVDHAEGEN | SOD05 | FALSE |
| FF_BASIS | SOD05 | TRUE |
| FF_BASIS | SOD05 | FALSE |
| FF_BASIS_CON | SOD05 | FALSE |
| FF_BASIS_CON | SOD05 | FALSE |
| FF_CTAC | SOD05 | FALSE |
| FF_CTAC | SOD05 | FALSE |
| FF_DEBUG | SOD05 | FALSE |
| FF_DEBUG | SOD05 | FALSE |
| FF_DEBUG_01 | SOD05 | FALSE |
| FF_DEBUG_01 | SOD05 | FALSE |
| FF_DEBUG_02 | SOD05 | TRUE |
| FF_DEBUG_02 | SOD05 | FALSE |
| FF_DEBUG_FIN | SOD05 | TRUE |
| FF_DEBUG_FIN | SOD05 | FALSE |
| FF_DEBUG_PRD | SOD05 | FALSE |
| FF_DEBUG_PRD | SOD05 | FALSE |
| FF_DEBUG_RET | SOD05 | FALSE |
| FF_DEBUG_RET | SOD05 | FALSE |
| FF_DEBUG_SRC | SOD05 | FALSE |
| FF_DEBUG_SRC | SOD05 | FALSE |
| FF_DEBUGT | SOD05 | FALSE |
| FF_DEBUGT | SOD05 | FALSE |
| FF_FIN | SOD05 | FALSE |
| FF_FIN | SOD05 | FALSE |
| FF_FINT | SOD05 | FALSE |
| FF_FINT | SOD05 | FALSE |
| FPHILIPS | SOD05 | TRUE |
| FPHILIPS | SOD05 | FALSE |
| FSOYLU | SOD05 | TRUE |
| FSOYLU | SOD05 | TRUE |
| FVDVAEREN | SOD05 | TRUE |
| FVDVAEREN | SOD05 | FALSE |
| GANGAROVA | SOD05 | TRUE |
| GANGAROVA | SOD05 | FALSE |
| JDELANG | SOD05 | TRUE |
| JDELANG | SOD05 | TRUE |
| JDHONDT | SOD05 | TRUE |
| JDHONDT | SOD05 | FALSE |
| JKIMML | SOD05 | TRUE |
| JKIMML | SOD05 | TRUE |
| KAGRAS | SOD05 | TRUE |
| KAGRAS | SOD05 | FALSE |
| KFOUCA | SOD05 | TRUE |
| KFOUCA | SOD05 | FALSE |
| KMUELL | SOD05 | TRUE |
| KMUELL | SOD05 | TRUE |
| KREGIN | SOD05 | TRUE |
| KREGIN | SOD05 | FALSE |
| LBUGGENHOUT | SOD05 | TRUE |
| LBUGGENHOUT | SOD05 | FALSE |
| LBUYCK | SOD05 | TRUE |
| LBUYCK | SOD05 | FALSE |
| LCROMBRUGGE | SOD05 | TRUE |
| LCROMBRUGGE | SOD05 | FALSE |
| LLAMER | SOD05 | TRUE |
| LLAMER | SOD05 | FALSE |
| LPUTMANS | SOD05 | TRUE |
| LPUTMANS | SOD05 | FALSE |
| LSTANI | SOD05 | TRUE |
| LSTANI | SOD05 | TRUE |
| MDEMETSER | SOD05 | TRUE |
| MDEMETSER | SOD05 | FALSE |
| MIGNACEK | SOD05 | FALSE |
| MIGNACEK | SOD05 | FALSE |
| MINDEN | SOD05 | TRUE |
| MINDEN | SOD05 | TRUE |
| MMARKO | SOD05 | FALSE |
| MMARKO | SOD05 | FALSE |
| MVERVR | SOD05 | TRUE |
| MVERVR | SOD05 | TRUE |
| MVINCK | SOD05 | TRUE |
| MVINCK | SOD05 | TRUE |
| NAGARC | SOD05 | FALSE |
| NAGARC | SOD05 | FALSE |
| OSS | SOD05 | FALSE |
| OSS | SOD05 | FALSE |
| PAUGUS | SOD05 | TRUE |
| PAUGUS | SOD05 | FALSE |
| PCRAEN | SOD05 | TRUE |
| PCRAEN | SOD05 | FALSE |
| PCUMAL | SOD05 | TRUE |
| PCUMAL | SOD05 | TRUE |
| PSTEPPE | SOD05 | TRUE |
| PSTEPPE | SOD05 | FALSE |
| RPEREZ15 | SOD05 | TRUE |
| RPEREZ15 | SOD05 | FALSE |
| RWILLE | SOD05 | TRUE |
| RWILLE | SOD05 | FALSE |
| SCOLSON | SOD05 | TRUE |
| SCOLSON | SOD05 | TRUE |
| SEYLEN | SOD05 | FALSE |
| SEYLEN | SOD05 | FALSE |
| SKOENN | SOD05 | TRUE |
| SKOENN | SOD05 | TRUE |
| SLECLERE | SOD05 | TRUE |
| SLECLERE | SOD05 | FALSE |
| SMARTE | SOD05 | TRUE |
| SMARTE | SOD05 | FALSE |
| SPOSSE | SOD05 | TRUE |
| SPOSSE | SOD05 | FALSE |
| SPULLI | SOD05 | TRUE |
| SPULLI | SOD05 | FALSE |
| STHUR | SOD05 | TRUE |
| STHUR | SOD05 | TRUE |
| STWYNS | SOD05 | TRUE |
| STWYNS | SOD05 | TRUE |
| SWOLF | SOD05 | TRUE |
| SWOLF | SOD05 | TRUE |
| VCUBIA | SOD05 | TRUE |
| VCUBIA | SOD05 | FALSE |
| VINBOM | SOD05 | TRUE |
| VINBOM | SOD05 | FALSE |
我想要这样的支点:
Access Risk ID User ID
SOD05 AHOFMA
AZILZ
BKACZM
EGAVRY
ETROCH
FSOYLU
JDELANG
JKIMML
KMUELL
LSTANI
MINDEN
MVERVR
MVINCK
PCUMAL
SCOLSON
SKOENN
STHUR
STWYNS
SWOLF
就像我在评论中建议的那样,您可以使用 groupby:
print(df.groupby(['Access Risk ID', 'User ID']).sum())
本例中的总和是剩余列的总和(在您的例子中是“在 Q 内执行?”),您将得到:
Executed within the Q?
Access Risk ID User ID
SOD05 ACHINE 1
AHOFMA 2
AZILZ 2
BKACZM 2
CAFERR 1
... ...
STHUR 2
STWYNS 2
SWOLF 2
VCUBIA 1
VINBOM 1