如何以柱状图的形式在熊猫数据框中的每一列中绘制唯一值的数量?

时间:2019-06-02 18:23:13

标签: pandas seaborn

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

因此,如果我的数据框具有四个列“ 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合作?

2 个答案:

答案 0 :(得分:0)

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)

答案 1 :(得分:0)

sns.displot(x=df.column_name1,col=df.column_name2,kde=True)

注:sns是python seaborn库的别名。

x 轴总是 column_name1 和 y 轴 column_name2。并且此代码将根据列 column_name2 中的唯一值为您提供显示数量