Scipy stats.mode 未返回发生的最大值

Scipy stats.mode is not returning maximum occurred value

我是 scipy 的新手。我正在尝试获取字符串列的最大出现值。

这是我的代码:

    import pandas as pd
    import numpy as np
    from scipy.stats import mode

    print ("Maximum Occurence of Store Owner " + str(mode(df_units["StoreOwner"], nan_policy='omit').mode[0]))

这是店主数据的前几行:

    0    Muhammed MacIntyre
    1          Barry French
    2          Barry French
    3         Clay Rozendal
    4        Carlos Soltero

在上面的代码中,我试图从 datframe 中获取最大出现的商店所有者值。但它按原样返回所有值。

假设您的数据在一个名为 ser 的 Pandas Series 中,您可以通过以下方式获取最常出现的字符串:

ser.value_counts()[ser.value_counts().index.max()]

你可以这样做:

pdf = pd.DataFrame(dict(A=['a', 'a', 'b', 'c', 'd']))
pdf.A.value_counts().idxmax()

这为您提供了数据帧 pdf 的列 A 中出现频率最高的值。