如何将熊猫数据框中每列中唯一值的数量绘制为条形图?

Posted

技术标签:

【中文标题】如何将熊猫数据框中每列中唯一值的数量绘制为条形图?【英文标题】:How to plot the number of unique values in each column in pandas dataframe as bar plot? 【发布时间】:2019-10-18 10:37:30 【问题描述】:

我想为我的数据框的特定列绘制每列唯一值的计数。

因此,如果我的数据框有四列“col_a”、“col_b”、“col_c”和“col_d”,其中两个(“col_a”、“col_b”)是分类特征,我想要一个条形图在 x 轴上有“col_a”和“col_b”,在 y 轴上有“col_a”中唯一值的计数和“col_b”中唯一值的数量。

PS:我不想绘制特定列中每个唯一值的计数。

实际上,如何用 python 绘制条形图?

properties_no_na.nunique()

返回:

neighborhood                 51
block                      6805
lot                        1105
zip_code                     41
residential_units           210
commercial_units             48
total_units                 215
land_sqft_thousands        6192
gross_sqft_thousands       8469
year_built                  170
tax_class_at_sale             4
building_class_at_sale      156
sale_price_millions       14135
sale_date                  4440
sale_month                   12
sale_year                    15
dtype: int64

这怎么可能?如果可能的话,Seaborn?

【问题讨论】:

【参考方案1】:

nunique() 返回 Pandas.Series。使用reset_index() 将其转换为 Pandas.DataFrame 并调用 seaborn。

nu = properties_no_na.nunique().reset_index()
nu.columns = ['feature','nunique']
ax = sns.barplot(x='feature', y='nunique', data=nu)

【讨论】:

【参考方案2】:
sns.displot(x=df.column_name1,col=df.column_name2,kde=True)

注意:sns 是 python seaborn 库的别名。

x 轴总是 column_name1 和 y 轴 column_name2。这段代码会给你显示的数量取决于列 column_name2 中的唯一值

【讨论】:

以上是关于如何将熊猫数据框中每列中唯一值的数量绘制为条形图?的主要内容,如果未能解决你的问题,请参考以下文章

如何使熊猫分类堆积条形图比例为 100%

您如何在熊猫或海生动物中绘制数量有限的条形图?

如何获取列中多个最小值的索引?

计算熊猫列中每个唯一值的数量[重复]

根据值的数量将熊猫列拆分为多个单独的列[重复]

Matplotlib 绘制条形图,在数据框中具有 2 列关系