我有一个Pandas数据框,我想使用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'
....
我已经调用了Describe()方法,但是它只显示计数,唯一值,最高值和频率值。
有人知道是否可以使用Describe()方法为每一列计算统计值,例如平均值,标准差等(对于复杂数组,将使用绝对值进行计算)?
或者有人可以建议如何继续计算这些值?
答案 0 :(得分:1)
您可以使用scipy.stats.describe(df)
来执行此操作。
这将返回您上面列出的所有统计信息以及更多信息。结果中每个键的值将是数组,并且该数组的每个元素将对应于数据框中相应列号的统计信息。
示例-
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]))