【发布时间】:2021-08-11 15:32:42
【问题描述】:
我使用这个 lambda 函数从数据框中获得了所有不同值的概览:
overview = df.apply(lambda col: col.unique())
这样会返回所需的结果:
ColA [1,2,3,...]
ColB [4,5,6,7,8,9...]
ColC [A,B,C]
... ...
如何使用子图/多个条形图可视化此结果?
我的第一次尝试只是将对象扔到数据框的 plot 方法中,这显然行不通。所以我尝试从对象中创建一个数据框:
overview = {}
for attr, value in overview.iteritems():
overview[attr] = value
df = pd.DataFrame(overview)
输出是:
ValueError: arrays must all be same length
所以我正在尝试使用列表:
overview = []
for attr, value in obj_overview.iteritems():
overview.append({attr: value})
df = pd.DataFrame(overview)
但结果是一个交叉矩阵,它的行数与列数一样多,行 n 引用列 n。这也是错误的。
如何使用显示数据框不同值的多个条形图/子图获得概览?
事实上,我想实现两个可能的目标:
- 有多个条形图,每个图表代表原始数据框中的一列。 X 轴显示所有不同/唯一值,Y 轴显示每个这些值的出现次数。这是不错的选择。我知道我目前的方法无法涵盖这一点。它基于类似的插件 Alteryx,例如提供:
- 我目前的方法应该可以做到这一点:只有一个(堆叠)条形图显示所有列,其中 x 轴显示每一列,每个相应的条包含所有不同的值。
谢谢!
【问题讨论】:
-
您希望您的图表是什么样的?您能否模拟一些东西或解释您希望如何显示数据,因为显示数据的方式有很多?每列一个酒吧? x 轴是每个独特的项目,y 是计数?还有什么?
-
@Henry Ecker 有效的问题,谢谢。将添加它。
标签: python pandas dataframe bar-chart distinct-values