简体   繁体   English

Pandas groupby 2 coluns/conditions 然后 value_counts() 由另一列?

[英]Pandas groupby 2 coluns/conditions then value_counts() by another column?

Here's what the dataset I'm working on looks like:这是我正在处理的数据集的样子:

Type类型 SubType子类型 Municipality直辖市
Social Media社交媒体 Facebook Facebook New Castle新城堡
Onground在地上 Campus校园 Monroe梦露
Onground在地上 Cafe咖啡店 Kutlski库特尔斯基
Social Media社交媒体 Instagram Instagram的 New Castle新城堡
Social Media社交媒体 Tiktok抖音 San Andreas圣安地列斯
Social Media社交媒体 Facebook Facebook New Castle新城堡
Social Media社交媒体 Facebook Facebook San Andreas圣安地列斯

I want to group it by Type and SubType then further filter it by Municipality and then value_counts() it.我想按TypeSubType对它进行分组,然后按Municipality进一步过滤它,然后value_counts()它。

Here's what I've tried:这是我尝试过的:

ab = df.groupby([df['Type'] == 'Social Media', 
                     df['SubType']])
ab['Municipality'].value_counts()

I almost got what I want only that it shows everything, not just the result of the condition (under the Type column, it has 'true' and false' section.我几乎得到了我想要的,只是它显示了所有内容,而不仅仅是条件的结果(在“类型”列下,它有“真”和“假”部分。

This is the result I'm looking for:这是我正在寻找的结果:

Type类型 SubType子类型 Municipality直辖市
Social Media社交媒体 Facebook Facebook New Castle新城堡 2 2个
San Andreas圣安地列斯 1 1个
Instagram Instagram的 New castle新城堡 1 1个
TikTok抖音 San Andreas圣安地列斯 1 1个

But instead, this is my result:但相反,这是我的结果:

Type类型 SubType子类型 Municipality直辖市
True真的 Facebook Facebook New Castle新城堡 2 2个
San Andreas圣安地列斯 1 1个
Instagram Instagram的 New Castle新城堡 1 1个
Titkok铁角 San Andreas圣安地列斯 1 1个
False错误的 Onground在地上 Cafe咖啡店 1 1个
Campus校园 1 1个
and so on...等等... .... .... .... .... ... ...

Just filter first and group only by subtype.只需先过滤并仅按子类型分组。 df.query('Type == `Social Media`').groupby('SubType')['Municipality'].value_counts()

I think value_counts is what you are looking for我认为 value_counts 是你要找的

df.value_counts(['Type','SubType','Municipality'])
Out[169]: 
Type          SubType    Municipality
Social Media  Facebook   New Castle      2
Onground      Cafe       Kutlski         1
              Campus     Monroe          1
Social Media  Facebook   San Andreas     1
              Instagram  New Castle      1

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM