如何计算数据帧上的统计值?

2024-09-28 22:30:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Pandas dataframe,我想使用Describe()方法来计算每列的统计值,比如平均值、标准差和其他值

显示框架结构的示例:

X Axis (float array)        Y Axis (complex array)   Val (float)        Class
0   [0, 1, 2...]            [0, 1+1j, 2+2j,...]       1                 'd'
1   [0, 1, 2...]            [0, 1+1j, 2+2j,...]       2                 'n'
....

我调用了descripe()方法,但它只显示count、unique、top和frequency值

有人知道是否可以使用Describe()方法来计算每列的统计值,如平均值、标准差等(如果是复杂数组,则绝对值将用于计算)

或者有人能建议如何继续计算这些值吗


Tags: 方法示例dataframepandasvalfloatarrayclass
1条回答
网友
1楼 · 发布于 2024-09-28 22:30:58

您可以使用scipy.stats.describe(df)来执行此操作。 这将返回你上面列出的所有属性和更多。结果中每个键的值都将是array,并且该数组的每个元素都将对应于数据帧中相应列号的stat。 示例-

In [1]: from scipy import stats

In [2]: import pandas as pd

In [3]: df = pd.DataFrame([[1,2,3],[2,3,4],[3,4,5]], columns=list('abc'))

In [4]: stats.describe(df)
Out[4]: DescribeResult(nobs=3, minmax=(array([1, 2, 3]), array([3, 4, 5])), mean=array([2., 3., 4.]), variance=array([1., 1., 1.]), skewness=array([0., 0., 0.]), kurtosis=array([-1.5, -1.5, -1.5]))

相关问题 更多 >