【问题标题】:Pandas df.describe() - how do I extract values into Dataframe?Pandas df.describe() - 如何将值提取到 Dataframe 中?
【发布时间】:2019-06-20 23:00:20
【问题描述】:

我正在尝试做一个朴素的贝叶斯,在将一些数据加载到 Pandas 的数据框中后,describe 函数会捕获我想要的数据。我想从表的每一列中捕获平均值和标准,但不确定如何做到这一点。我试过这样的事情:

df.describe([mean])
df.describe(['mean'])
df.describe().mean

没有一个在工作。我能够在 R 中用摘要做类似的事情,但不知道如何在 Python 中做。有人可以提供一些建议吗?

【问题讨论】:

    标签: python pandas dataframe data-science


    【解决方案1】:

    请尝试以下方法:

    df.describe(include='all').loc['mean']
    

    【讨论】:

    • 像魅力一样工作。看起来我也可以将其捕获为变量。如果你想要mean和std这样的两个项目怎么办?
    • df.describe(include='all').loc[['mean','std']]
    【解决方案2】:

    你很亲密。您不需要任何 include 标签。只需正确重写您的第二种方法:df.describe()['mean']

    例如:

    import pandas as pd
    
    s = pd.Series([1, 2, 3, 4, 5])
    s.describe()['mean']
    # 3.0
    

    如果你想要meanstd,只需写df.describe()[['mean', 'std']]。例如,

    s.describe()[['mean', 'std']]
    # mean    3.000000
    # std     1.581139
    # dtype: float64
    

    【讨论】:

    • @Vaslo:你错过了“mean”和“std”之间的逗号。用逗号重试
    • 如果问题仍然存在,请在您的问题中包含一些数据框
    • @Vaslo:你可以先试试df_1 = pd.Series(df.values.ravel()),然后再试试df_1.describe()[['mean', 'std']]吗?
    • 在上传数据框之前试试我在评论中写的内容,看看它是否有效
    • 好的,所以它比我想象的要复杂。然后,如果它适合您,您可以接受上述其他解决方案
    【解决方案3】:

    如果您还想提取特定列数据,请尝试:

    df.describe()['FeatureName']['mean']
    

    用您要提取的任何其他统计数据替换均值

    【讨论】:

      猜你喜欢
      • 2018-11-19
      • 2021-06-03
      • 2018-01-22
      • 2020-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-28
      • 1970-01-01
      相关资源
      最近更新 更多