python中DataFrame常用的描述性统计分析方法详解

 更新时间:2023年07月07日 10:44:09   作者:侯小啾  
这篇文章主要介绍了python中DataFrame常用的描述性统计分析方法详解,描述性统计分析是通过图表或数学方法,对数据资料进行整理、分析,并对数据的分布状态、数字特征和随机变量之间的关系进行估计和描述的方法,需要的朋友可以参考下

DataFrame常用描述性统计分析方法

sum() 求和

使用sum()方法对DataFrame对象求和。
其中**set_option(‘display.unicode.east_asian_width’, True)**可以使显示的DataFrame值与列名对齐。
sum有axis参数,默认为0,表示对列求和

  • 设置为1表示对行求和。
  • 也可以设置 skipna参数,改参数默认为True,表示不考虑缺失值,如果是False则表示考虑缺失值,当存在缺失值时,则对应的结果表示为Nan。
  • (布尔类型的参数值,当传入为其它类型的值时,也解读为该值的布尔值)

这里对示例数据的行求和,然后生成一个新的列添加在数据中。

import pandas as pd
data = [[110, 105, 99], [105, 88, 115], [109, 120, 130]]
index = [1, 2, 3]
columns = ['语文', '数学', '英语']
pd.set_option('display.unicode.east_asian_width', True)
df = pd.DataFrame(data=data, index=index, columns=columns)
print(df)
print("================================")
# 增加一列
df['总成绩'] = df.sum(axis=1, skipna=1)
print(df)

程序运行结果如下:

在这里插入图片描述

mean() 求平均值

这里对生成数据的每一列求平均值,然后作为一个新的行增加给原数据。

通过示例可以看到,当原数据中存在空值时,计算均值时分子和分母都不计入该数据。即mean()求的是非空数据的平均值。

import pandas as pd
data = [[110, 105, 99], [105, 88, 115], [109, 120, 130], [112, 115]]
index = [1, 2, 3, 4]
columns = ['语文', '数学', '英语']
pd.set_option('display.unicode.east_asian_width', True)
df = pd.DataFrame(data=data, index=index, columns=columns)
print(df)
print("================================")
new = df.mean()
# 增加一行数据(语文、数学和英语的平均值,忽略索引)
df = df.append(new, ignore_index=True)
print(df)

在这里插入图片描述

关于DataFrame的append()方法

DataFrame增添一行可以使用append()方法。设置参数,ignore_index=True可以忽略掉索引。

当在DataFrame后边追加的对象为Series时,必须把ignore_index设为True,或者除非Serise有name属性当追加多列时,设置ignore_index为True可以避免出现索引值重复的异常事件。 此外DataFrame的append()方法在未来的版本即将被取消。将由concat替代。

max() 最大值 & min() 最小值

import pandas as pd
data = [[110, 105, 99], [105, 88, 115], [109, 120, 130]]
index = [1, 2, 3]
columns = ['语文', '数学', '英语']
pd.set_option('display.unicode.east_asian_width', True)
df = pd.DataFrame(data=data, index=index, columns=columns)
print(df)
print("================================")
df_max = df.max()
print(df_max)
print("================================")
df_min = df.min()
print(df_min)

在这里插入图片描述

median() 中位数

import pandas as pd
data = [[110, 120, 110], [130, 130, 131], [115, 120, 130]]
columns = ['语文', '数学', '英语']
df = pd.DataFrame(data=data, columns=columns)
print(df)
print("================================")
print(df.median())

在这里插入图片描述

mode() 众数

import pandas as pd
data = [[110, 120, 110], [130, 130, 130], [130, 120, 130]]
columns = ['语文', '数学', '英语']
df = pd.DataFrame(data=data, columns=columns)
print(df)
# 三科成绩的众数
print(df.mode())
# 每一行的众数
print(df.mode(axis=1))
# “数学”的众数
print(df['数学'].mode())

在这里插入图片描述

var() 方差

import pandas as pd
data = [[110, 113, 102, 105, 108], [118, 98, 119, 85, 118]]
index = ['小黑', '小白']
columns = ['物理1', '物理2', '物理3', '物理4', '物理5']
df = pd.DataFrame(data=data, index=index, columns=columns)
print(df)
print("========================================")
print(df.var(axis=1))

在这里插入图片描述

std() 标准差

import pandas as pd
data = [[110, 120, 110], [130, 130, 130], [130, 120, 130]]
columns = ['语文', '数学', '英语']
df = pd.DataFrame(data=data, columns=columns)
print(df)
print("=============================")
print(df.std())

在这里插入图片描述

quantile() 分位数

以35%分位数为例

import pandas as pd
# 创建DataFrame数据(数学成绩)
data = [120, 89, 98, 78, 65, 102, 112, 56, 79, 45]
columns = ['数学']
df = pd.DataFrame(data=data, columns=columns)
print(df)
print("============================")
# 计算35%的分位数
x = df['数学'].quantile(0.35)
# 输出淘汰学生
print(df[df['数学'] <= x])

在这里插入图片描述

关于其他数据类型,如Timestamp,也可以使用分位数quantile()方法。

import pandas as pd
pd.set_option('display.unicode.east_asian_width', True)
df = pd.DataFrame({'A': [1, 2],
                   'B': [pd.Timestamp('2019'),
                         pd.Timestamp('2020')],
                   'C': [pd.Timedelta('1 days'),
                         pd.Timedelta('2 days')]})
print(df)
print("==============================")
print(df.quantile(0.5, numeric_only=False))

在这里插入图片描述

到此这篇关于python中DataFrame常用的描述性统计分析方法详解的文章就介绍到这了,更多相关python的DataFrame常用方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python使用matplotlib显示图像失真的解决方案

    python使用matplotlib显示图像失真的解决方案

    这篇文章主要介绍了python使用matplotlib显示图像失真的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • python将类似json的数据存储到MySQL中的实例

    python将类似json的数据存储到MySQL中的实例

    今天小编就为大家分享一篇python将类似json的数据存储到MySQL中的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Python标准库之Math,Random模块使用详解

    Python标准库之Math,Random模块使用详解

    math数学模块和random随机模块是Python常用的标准库之一。本文将详细为大家介绍一下这两个模块的使用方法,需要的小伙伴可以参考一下
    2022-05-05
  • python里的条件语句和循环语句你了解多少

    python里的条件语句和循环语句你了解多少

    这篇文章主要为大家详细介绍了python的条件语句和循环语句,使用数据库,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • python getopt模块使用实例解析

    python getopt模块使用实例解析

    这篇文章主要介绍了python getopt模块使用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Python使用MD5加密算法对字符串进行加密操作示例

    Python使用MD5加密算法对字符串进行加密操作示例

    这篇文章主要介绍了Python使用MD5加密算法对字符串进行加密操作,结合实例形式分析了Python实现md5加密相关操作技巧,需要的朋友可以参考下
    2018-03-03
  • python内置函数zip详解

    python内置函数zip详解

    这篇文章主要为大家介绍了python内置函数zip,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • 高斯衰减python实现方式

    高斯衰减python实现方式

    这篇文章主要介绍了高斯衰减python实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • Python3最长回文子串算法示例

    Python3最长回文子串算法示例

    这篇文章主要介绍了Python3最长回文子串算法,结合实例形式分析了暴力算法及动态规划算法判断最长回文子串的相关操作技巧,需要的朋友可以参考下
    2019-03-03
  • python根据用户需求输入想爬取的内容及页数爬取图片方法详解

    python根据用户需求输入想爬取的内容及页数爬取图片方法详解

    这篇文章主要介绍了python根据用户需求输入想爬取的内容及页数爬取图片方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08

最新评论