我在完成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)
1条答案
按热度按时间osh3o9ms1#
使用
Series.mode
: