python - 如何在 python 中分组和计算二项式变量?并绘制这个图

标签 python pandas numpy matplotlib bigdata

我有一个这样的数据框:

<表类="s-表"> <头> 国家 问题1 问题2 <正文> 法国 是 没有 意大利 是 是 法国 是 没有 德国 没有 是 意大利 没有 是

我想得到一个输出,如数据透视表或一组,每个问题和每个国家/地区的是/否计数(类似 excel 的计数)。

我尝试了很多方法作为df.groupby(country).value_counts()df.groupby(country).sum("Yes")

但是我得不到想要的结果。

并且我想将获得的结果制作成图表,仅针对是的答案。

有人可以给我建议吗?

谢谢

最佳答案

如何对二项式变量进行groupby和计数?

我们可以使用 get_dummiesquestion1question2 列中的值进行编码然后求和每个唯一国家/地区的编码值以获得每个问题的YesNo的数量国家

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 dataframe的plot方法创建一个显示每个国家/地区对应的Yes问题数量的条形图

counts.filter(like='_yes').plot(kind='bar') 

enter image description here

关于python - 如何在 python 中分组和计算二项式变量?并绘制这个图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67608121/

相关文章:

python - 如何保存大型Python numpy数据集?

python - 在 Google App Engine 中部署应用程序时出现内存错误

python - 如何从元素不断变化的 JSONL 文件中提取元素?

python - 基于列的 2 个数据框之间的减法

python - Numpy 数组作为图像、图像 channel

python - 如何hstack numpy记录数组?

python - django 多对多过滤字段

python - float 布局 KIVY 中的动画

python - 加快 Pandas 过去 60 天的平均速度

python - 基于所有列扩展窗口的Pandas qcut