Pandas df.describe() - 如何将值提取到 Dataframe 中?
Posted
技术标签:
【中文标题】Pandas df.describe() - 如何将值提取到 Dataframe 中?【英文标题】:Pandas df.describe() - how do I extract values into Dataframe? 【发布时间】:2019-06-20 23:00:20 【问题描述】:我正在尝试做一个朴素的贝叶斯,在将一些数据加载到 Pandas 的数据框中后,describe 函数会捕获我想要的数据。我想从表的每一列中捕获平均值和标准,但不确定如何做到这一点。我试过这样的事情:
df.describe([mean])
df.describe(['mean'])
df.describe().mean
没有一个在工作。我能够在 R 中用摘要做类似的事情,但不知道如何在 Python 中做。有人可以提供一些建议吗?
【问题讨论】:
【参考方案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
如果你想要mean
和std
,只需写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']
用您要提取的任何其他统计数据替换均值
【讨论】:
以上是关于Pandas df.describe() - 如何将值提取到 Dataframe 中?的主要内容,如果未能解决你的问题,请参考以下文章