Python Pandas 对多列进行值计数并根据结果生成图表
Posted
技术标签:
【中文标题】Python Pandas 对多列进行值计数并根据结果生成图表【英文标题】:Python Pandas value counts for multiple columns and generate graph from the result 【发布时间】:2018-02-26 01:05:46 【问题描述】:我有一个 csv 可供读取,如下所示
A B C
Sam 123 PID-213
Sam 145 PID-432
Sam 123 PID-546
Dan 786 PID-321
Dan 897 PID-432
我想要一个如下的组:唯一 B 元素和 Pid 的计数。 (Bis 2 因为 123 重复了两次所以)
A B C
Sam 2 3
Dan 2 2
从上面绘制一个如下图:以及来自 A 列和 B 列的饼图,并将其保存在 2 个不同页面的 pdf 中。
我如何做到这一点
【问题讨论】:
【参考方案1】:IIUC:
In [18]: df.groupby('A')['B','C'].nunique().plot.bar(rot=0)
Out[18]: <matplotlib.axes._subplots.AxesSubplot at 0xb7d7a90>
【讨论】:
当我在 PyCharm 中尝试时,默认情况下所有颜色都相同。如何分配颜色? @vikasns,它在 Jupyter / ipython 中是否正常工作? 我没试过。但在 PyCharm 中它不起作用。能否请您告诉我如何使用 Pycharm? 没问题,谢谢!以上是关于Python Pandas 对多列进行值计数并根据结果生成图表的主要内容,如果未能解决你的问题,请参考以下文章
在 pandas / python 中对条件值进行分组和计数
如何在 Pandas DataFrame 中一次获取多列的值计数?