如何获取单个列的基数?现有代码返回全部列的问题求助
获取单列基数并绘制柱状图
提取单列基数
你当前的df.apply(pd.Series.nunique)会对DataFrame的每一列都计算基数,要单独获取某一列的基数,直接针对目标列调用nunique()即可:
假设你要处理的列名为your_column,代码如下:
# 获取单列基数 col_cardinality = df['your_column'].nunique() # 打印结果 print(f"该列基数:{col_cardinality}")
绘制柱状图展示列取值分布
如果需要可视化该列的不同取值及其出现频次(直观体现基数对应的分布),可以用以下两种常用方式:
方式1:Matplotlib 实现
import matplotlib.pyplot as plt # 统计列中各取值的出现次数 counts = df['your_column'].value_counts() # 绘制柱状图 plt.bar(counts.index, counts.values) plt.title('目标列取值分布') plt.xlabel('取值') plt.ylabel('出现次数') plt.xticks(rotation=45) # 若取值名称过长,旋转x轴标签避免重叠 plt.tight_layout() # 自动调整布局 plt.show()
方式2:Seaborn 实现
import seaborn as sns sns.countplot(data=df, x='your_column') plt.title('目标列取值分布') plt.xticks(rotation=45) plt.tight_layout() plt.show()
内容的提问来源于stack exchange,提问作者acidic231
相关产品推荐
相关产品推荐

