![](/img/trans.png)
[英]Vectorized column creation, where each value is pulled from a different column in a multi-index pandas df
[英]Return rows in a multi-index df where it contains a specific value
我有以下多索引 df:
pageid
sid vid
1 ABC dog
ABC cat
ABC fish
2 DEF pig
DEF cat
DEF fish
3 GHI pig
GHI cat
GHI dog
我想保留只包含一些值的子索引——在這個例子中我將使用 dog。
前:
pageid
sid vid
1 ABC dog
ABC cat
ABC fish
2 DEF pig
DEF cat
DEF fish
3 GHI pig
GHI cat
GHI dog
After(僅包含帶有值 dog 的pageid
sid
)
pageid
sid vid
1 ABC dog
ABC cat
ABC fish
3
GHI pig
GHI cat
GHI dog
這里:
df.groupby('sid').filter(lambda x: x['pageid'].eq('dog').sum() > 0)
它是做什么的:
pageid
計數大於0
那些組或者像@db 建議的那樣:
df.loc[df['pageid'].eq('dog').groupby('sid').transform(any)]
有什么作用:
pageId
為dog
則每行為True
,否則為False
sid
對屏蔽的行進行分組
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.