【发布时间】:2020-10-05 10:54:18
【问题描述】:
我有一个带有 colnames = ['cuit', 'nivel_0', 'nivel_1', 'nivel_2']) 的 DataFrame。 'nivel_...' 列是不同类型行业的不同聚合级别。如:耐用制造 (nivel_2) >> 计算机 (nivel_1) >> 笔记本电脑 (nivel_0)。它们都是objects dtypes。
我为“nivel_2”制作了一个 groupby,并使用 Seaborn 制作了一个条形图。
barplot=df.groupby('nivel_2')['nivel_2'].agg('nivel_2':'count')
#Bar Plot: Number of Companies by Types of Industries (level 2 of aggregation)
sns.set(style="whitegrid")
plt.figure(figsize=(10,5))
ax=sns.barplot(barplot.index,barplot.values)
plt.title('Number of Companies by Types of Industries (level 2 of aggregation)')
plt.xticks(rotation='vertical')
我想为每组df.groupby('nivel_2')['nivel_2'].agg('nivel_2':'count') 获取该组并将它们绘制为“nivel_1”变量。都在同一个代码行中。对于“nivel_2”和“nivel_1”变量,我有两个独特的值。
有什么建议吗?
【问题讨论】:
-
您可以发布示例数据吗?您是否要绘制每个不同
nivel内的公司数量? -
是的,我似乎无法表达自己。观看此示例。对于任何特定的行,我可以有这样的东西:34546687068 >> 耐用制造 >> 计算机 >> 笔记本电脑。 colnames = ['id', 'level_2', 'level_1', 'level_0']。 level_2 是更多聚合的级别,这意味着耐用制造行业的类型包括不同的子类型的行业,如计算机制造商a,它们包括制造笔记本电脑的行业。使用 df.groupby('nivel_2')['nivel_2'].agg('nivel_2':'count'),我得到的数据仅针对聚合的 level_2 绘制。
标签: python pandas plot group-by bar-chart