初步理解鸢尾花数据集dataframe的describe方法返回值
发布于 作者:苏南大叔 来源:程序如此灵动~dataframe
是pandas
库里面的数据类型,类似以往概念中的二维数组。除了head()
和tail()
可以查看首尾数据外,还可以通过describe()
函数来对数据体做个总体的概述预览。
苏南大叔的“程序如此灵动”博客,记录苏南大叔的编程所学所想。本文对dataframe
类型的describe()
方法返回值进行初步探讨。测试环境:win10
,python@3.11.0
,pandas@1.5.3
。
获得dataframe
对象
可以自己定义一个dataframe
对象,参考文章:
也可以通过读取csv
获得一个dataframe
对象,参考文章:
本文是以tensorflow
官方的鸢尾花数据集为基础的,所以,获得dataframe
对象的方法如下:
import pandas as pd
data_url = "http://download.tensorflow.org/data/iris_training.csv"
column_names = ["萼长", "萼宽", "瓣长", "瓣宽", "种类"]
df = pd.read_csv(data_url, header=0, names=column_names)
执行.describe()
当然,这个.describe()
有很多变种,本文仅仅致力于初步理解.describe()
,所以这里仅仅做最常见情况的描述。
print(df.describe())
这里返回值如下:
萼长 萼宽 瓣长 瓣宽 种类
count 120.000000 120.000000 120.000000 120.000000 120.000000
mean 5.845000 3.065000 3.739167 1.196667 1.000000
std 0.868578 0.427156 1.822100 0.782039 0.840168
min 4.400000 2.000000 1.000000 0.100000 0.000000
25% 5.075000 2.800000 1.500000 0.300000 0.000000
50% 5.800000 3.000000 4.400000 1.300000 1.000000
75% 6.425000 3.300000 5.100000 1.800000 2.000000
max 7.900000 4.400000 6.900000 2.500000 2.000000
返回值分析
返回的数据分别是:
字段返回值 | 说明 |
---|---|
count | 计数 |
mean | 平均值 |
std | 标准差 |
min | 最小值 |
max | 最大值 |
25% | 分位数Q1 |
50% | 分位数Q2(中位数) |
75% | 分位数Q3 |
1、计数count
,这个比较好理解。
2、平均值mean
,var
方差,std
标准差,参考文章:https://newsn.net/say/python-std.html
3、25%
/50%
/75%
这几个分位数是计算得出来的值,并不一定实际存在。计算方法呢,也比较好理解。原理上是先求解对应位置,如果对应位置没有数,那么“(前一位数,后一个数)”按比例取得对应的数。
把min
理解为0%
、max
理解为100%
。
返回值之方差var
值得特别说明的是:上述返回值中并没有var
方差,虽然var
方差就是std
标准差的平方。但是,没有返回值就实际上提供了一个自行计算的方式:
df[列名].var()
或者直接获得一个series
:
df.var()
这个话题就比较大了,这里就暂埋伏笔。
更多.describe()
内容
如果dataframe
的数据列中存在着纯数字的列,就会返回上述数据,忽略非数字列。如果是其它类型的列(比如文本)的话,是返回其它的统计数据字段的,这种情况待后续更新。
如果忽略数据类型,返回所有值。而不是自动判断需要返回的值的话,可以使用:
df.describe(include="all")
结束语
本文中的.describe()
方法,主要是用于更深刻的理解鸢尾花数据集的。所以对于更多的.describe()
方法变种,不做更多的讨论。更多python
相关经验文章,请点击下面的链接查看:
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。