如何在python中对二项式变量进行分组和计数?并绘制这个图
How to groupby and count binomial variable in python? and make a plot of this
我有一个这样的数据框:
country
question1
question2
france
yes
no
italy
yes
yes
france
yes
no
germany
no
yes
italy
no
yes
我想得到一个像枢轴 table 或每个问题和每个国家的计数 yes/no 的组(类似 excel 的计数)的输出。
我尝试了很多方法 df.groupby(country).value_counts()
或 df.groupby(country).sum("Yes")
但是我得不到想要的结果
我想把这个结果做成图表,只针对是的答案。
有人可以给我建议吗?
谢谢
如何对二项式变量进行分组和计数?
我们可以使用 get_dummies
编码 列 question1
和 question2
中的值,然后 sum
每个编码值unique country
获取每个 country
每个问题的 Yes
和 No
的计数
counts = pd.get_dummies(df.set_index('country')).sum(level=0)
question1_no question1_yes question2_no question2_yes
country
france 0 2 2 0
italy 1 1 0 2
germany 1 0 0 1
如何制作这个情节?
过滤名称后缀为_Yes
的问题列,然后用kind=bar
调用pandas数据框的plot
方法创建一个显示计数的条形图每个国家
对应 Yes
个问题
counts.filter(like='_yes').plot(kind='bar')
我有一个这样的数据框:
country | question1 | question2 |
---|---|---|
france | yes | no |
italy | yes | yes |
france | yes | no |
germany | no | yes |
italy | no | yes |
我想得到一个像枢轴 table 或每个问题和每个国家的计数 yes/no 的组(类似 excel 的计数)的输出。
我尝试了很多方法 df.groupby(country).value_counts()
或 df.groupby(country).sum("Yes")
但是我得不到想要的结果
我想把这个结果做成图表,只针对是的答案。
有人可以给我建议吗?
谢谢
如何对二项式变量进行分组和计数?
我们可以使用 get_dummies
编码 列 question1
和 question2
中的值,然后 sum
每个编码值unique country
获取每个 country
Yes
和 No
的计数
counts = pd.get_dummies(df.set_index('country')).sum(level=0)
question1_no question1_yes question2_no question2_yes
country
france 0 2 2 0
italy 1 1 0 2
germany 1 0 0 1
如何制作这个情节?
过滤名称后缀为_Yes
的问题列,然后用kind=bar
调用pandas数据框的plot
方法创建一个显示计数的条形图每个国家
Yes
个问题
counts.filter(like='_yes').plot(kind='bar')