如何在dataframe上的python pandas代码中识别多个模式?

3okqufwl  于 2023-04-10  发布在  Python
关注(0)|答案(1)|浏览(99)

我在完成python pandas练习时发现了一个问题,我被要求写一个pandas程序来显示随机序列中最频繁的值,并将序列中的其他值替换为“其他”。
我不能在一个系列中这样做,但在一个 Dataframe 中可以。代码如下所示。我的问题是:我只能从频率计数列表的第一个索引中选择值(即index[0]),但这意味着只有一种模式。如果有多个模式呢?
感谢你的帮助。谢谢!

data19 = np.random.randint(46,50,size = 10)
df19 = pd.DataFrame(data19, columns = ["integer"])
print(df19)
freq19 = df19["integer"].value_counts()
print(freq19)
find_mode = df19["integer"] == freq19.index[0]  #What if there are more than one mode?
df19.loc[~find_mode, "integer"] = "Other"
print(df19)
osh3o9ms

osh3o9ms1#

使用Series.mode

mode = df19['integer'].mode()
df19.loc[~df19['integer'].isin(mode), 'integer'] = 'Other'

相关问题