微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

尝试在python中复制描述性统计分析工具excel/将模式添加到describe()函数

如何解决尝试在python中复制描述性统计分析工具excel/将模式添加到describe()函数

我试图通过在 Pandas 库中聚合一些可用的描述性统计数据来使用 python(jupyter notebook)在 excel 中复制描述性统计(汇总统计)分析工具,但每次我在代码添加模式函数时,它总是返回:>

ValueError: 不能组合转换和聚合操作

我的代码是:

df2 = df[["pm10","so2","co","o3","no2" ]]
df2.agg(
    {
        "pm10": ["mean","sem","median","std","var","kurt","skew","min","max","sum","count","mode"],"so2": ["mean","co": ["mean","o3": ["mean","no2": ["mean","mode"]
    }
  )

它只在包含模式功能时返回错误,其他功能运行良好。这是我的dataset

我想要的结果:

i want mode to be aggregated

解决方法

尝试使用统计包中的模式函数:

from statistics import mode
func_list = ["mean","sem","median","std","var","kurt","skew","min","max","sum","count",mode]
df2.agg(
{
    "pm10": func_list,"so2": func_list,"co": func_list,"o3": func_list,"no2": func_list
})
,

这不是最干净的方法,但它有效,我还添加了一些其他度量,例如 nans 值和范围

df2 = df[["pm10","so2","co","o3","no2" ]]      
                                                  
def describe(df2,stats):
    d = df2.describe()
    return d.append(df2.reindex(d.columns,axis = 1).agg(stats))

df2_desc = describe(df2,["median",])

count_nan = df2.isnull().sum(axis=0) 
df2_append = df2_desc.append(pd.Series(count_nan,name='nans'))

df_mode = df2.mode(axis=0,numeric_only=True,dropna=True)
df2_concat = pd.concat([df2_append,df_mode])                             
df2_concat.loc['range'] = df2_concat.loc['max'] - df2_concat.loc['min']
df2_concat

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。