【问题标题】:How to plot variables of each groupby group如何绘制每个 groupby 组的变量
【发布时间】: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


【解决方案1】:

我认为你可以这样做:

ax = df['nivel_2'].avlue_counts().plot.bar()

# other plot/format commands

【讨论】:

    猜你喜欢
    • 2019-06-12
    • 2018-05-13
    • 2020-09-16
    • 2019-01-08
    • 2019-12-11
    • 2023-02-23
    • 2022-01-19
    • 2019-05-03
    • 1970-01-01
    相关资源
    最近更新 更多