如何提取Pandas计算CSV文件指定列众数结果中的纯数值
解决方案
pandas的mode()方法针对单列调用时默认返回Series类型对象,目的是兼容存在多个众数的场景,你只需要提取返回结果中的第一个值即可,修改后的代码如下:
def mode_LVL(self): data = pd.read_csv('highscore.csv', sep=',') mode_lvl = data["LVL"].mode().iloc[0] return mode_lvl
如果你的场景可能存在多个众数,也可以转成列表一次性取出所有众数:
def mode_LVL(self): data = pd.read_csv('highscore.csv', sep=',') mode_lvl = data["LVL"].mode().tolist() return mode_lvl
补充说明
你之前尝试的写法错误原因:你直接对整个DataFrame调用mode(),且axis参数仅接受0/1或者index/columns枚举值,不能传入列名,因此无法得到指定列的众数。
内容的提问来源于stack exchange,提问作者rocketlauncheryay
相关产品推荐
相关产品推荐

