【问题标题】:Plot most frequencies of a single dataframe column绘制单个数据框列的大多数频率
【发布时间】:2021-08-23 06:46:48
【问题描述】:

我正在尝试在我的数据框中绘制名为“内容”的列的 10 个最常见的值。

我认为我还不算太远,但我的代码需要改进。

这里是: df_sample['content'].value_counts()[:10].plot().hist() 但我对轴有些问题 我想要 X 轴上的内容编号和 Y 轴上的频率。

我也试过这个: a = df_sample['content'].value_counts()[:10]

a.plot(kind='hist') 但它输出 Y 轴上的频率,我的代码都没有显示内容编号。

提前感谢您的帮助!

【问题讨论】:

    标签: python pandas dataframe matplotlib plot


    【解决方案1】:

    尝试将value_counts 的结果变成带有reset_index 的框架:

    import numpy as np
    import pandas as pd
    from matplotlib import pyplot as plt
    
    np.random.seed(5)
    
    df_sample = pd.DataFrame({'task_container_id': np.random.randint(1, 15, 100)})
    plot_df = (
        df_sample['task_container_id'].value_counts()
            .head(10)
            .rename_axis('value')
            .reset_index(name='counts')
    )
    

    plot_df:

       value  counts
    0      1      13
    1     12      11
    2      8       9
    3     10       9
    4      7       7
    5     14       7
    6      2       6
    7      3       6
    8      4       6
    9      5       6
    

    然后plot:

    ax = plot_df.plot(x='counts', kind='hist')
    

    【讨论】:

    • 非常感谢!这很有帮助。只是一个问题,对于 Y 轴,我如何写计数值?
    猜你喜欢
    • 2017-05-30
    • 1970-01-01
    • 2020-10-13
    • 2016-02-06
    • 2022-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多