Pandas df.describe() - 如何将值提取到 Dataframe 中?

Vas*_*slo 6 python dataframe pandas data-science

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

df.describe([mean])
df.describe(['mean'])
df.describe().mean
Run Code Online (Sandbox Code Playgroud)

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

mil*_*.ai 11

请尝试这样的事情:

df.describe(include='all').loc['mean']
Run Code Online (Sandbox Code Playgroud)

  • df.describe(include='all').loc[['mean','std']] (3认同)

小智 6

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

df.describe()['FeatureName']['mean']
Run Code Online (Sandbox Code Playgroud)

将平均值替换为您想要提取的任何其他统计数据


She*_*ore 5

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

例如:

import pandas as pd

s = pd.Series([1, 2, 3, 4, 5])
s.describe()['mean']
# 3.0
Run Code Online (Sandbox Code Playgroud)

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

s.describe()[['mean', 'std']]
# mean    3.000000
# std     1.581139
# dtype: float64
Run Code Online (Sandbox Code Playgroud)