Pandas数据统计的函数方法

前言

pandas是基于numpy的一种工具,他是为解决数据分析任务而创立的,pandas提供了大量快速便捷处理函数的方法,pandas函数可以实现求和,求均值,求最大值,求最小值,求中位数,求众数,求标准差,对数据的统计处理具有非常的高效性,建议学习掌握并运用到实践中。

一、导入pandas

在使用之前,需要导入pandas库

import pandas as pd

 

导入pandas并且创建一组三科成绩的数据表

import pandas as pd 
data = [[110,105,99],[105,88,115],[109,120,130]]
index = [1,2,3]
columns = ['语文','数学','英语']

二、调用DataFrane对象,使用函数计算

2.1  求和(sum()函数)

  • 使用Pandas的`sum()`函数可以方便地计算DataFrame的单个数据列的总和,或者对所有数据列进行求和

  • 使用Pandas的sum()函数可以方便地计算DataFrame的单个数据列的总和,或者对所有数据列进行求和。sum()函数可以对数值型数据进行求和操作,并返回一个包含求和结果的Series

通过调用DataFrane对象的sum()函数实现行/列数据的求和运算

DataFrame.sum(axis=None,skipna=None,level=None,numeric_only=None,min_count=0,**kwargs)

axis: axis=1 表示行,axis=0表示列,默认值为None(无)。

skipna: 布尔型,表示计算结果是否排除NaN/Null值,默认值为0。

level: 表示索引层级,默认值为None。

numeric_only: 仅数字,布尔型,默认值为None。

min_count: 表示执行操作所需的数目,整型,默认值为0。

**kwargs: 要传递给函数的附加关键字参数。

返回值: 返回Series对象或DataFrane对象。行或列求和数据。

对三科成绩求和

df = pd.DataFrame(data=data,index=index,columns=columns)
df['总成绩']=df.sum(axis=1)

2.2  求均值(mean()函数)

pandas mean函数的使用方法非常简单,只需要传入一组数据就可以得到相应的平均值了。例如,对于一组数字[1,2,3,4,5],可以使用pandas mean函数来计算它们的平均值:import pandas as pd data=[1,2,3,4,5] result=pd.mean(data) print(result) #输出结果为3.0 除了计算数字的平均值以外,pandas mean函数也可以用来计算其他类

通过调用DataFrane对象的mean()函数实现行/列数据的平均值运算

DataFrame.mean(axis=None,skipna=None,level=None,numeric_only=None,min_count=0,**kwargs)

axis: axis=1 表示行,axis=0表示列,默认值为None(无)。

skipna: 布尔型,表示计算结果是否排除NaN/Null值,默认值为0。

level: 表示索引层级,默认值为None。

numeric_only: 仅数字,布尔型,默认值为None。

min_count: 表示执行操作所需的数目,整型,默认值为0。

**kwargs: 要传递给函数的附加关键字参数。

返回值: 返回Series对象或DataFrane对象。行或列求和数据。

对三科成绩求平均值

df = pd.DataFrame(data=data,index=index,columns=columns)
new=df.mean()
df.append(new,ignore_index=True)

new=df.mean(),增加一行数据(三科成绩的平均值忽略索引)

2.3  求最大值(max()函数)

使用DataFrame数据调用max()函数,返回结果为DataFrame中每一列的最大值,即使数据是字符串或object也可以返回最大值。 在Pandas中,数据的获取逻辑是“先列后行”,所以max()默认返回每一列的最大值,axis参数默认为0,如果将axis参数设置为1,则返回的结果是每一行的最大值,后面介绍的其他统计运算函数同理

通过调用DataFrane对象的max()函数实现行/列数据的最大值运算

DataFrame.max(axis=None,skipna=None,level=None,numeric_only=None,min_count=0,**kwargs)

axis: axis=1 表示行,axis=0表示列,默认值为None(无)。

skipna: 布尔型,表示计算结果是否排除NaN/Null值,默认值为0。

level: 表示索引层级,默认值为None。

numeric_only: 仅数字,布尔型,默认值为None。

min_count: 表示执行操作所需的数目,整型,默认值为0。

**kwargs: 要传递给函数的附加关键字参数。

返回值: 返回Series对象或DataFrane对象。行或列求和数据。

对三科成绩求最大值

df = pd.DataFrame(data=data,index=index,columns=columns)
new=df.max()
df.append(new,ignore_index=True)

2.4  求最小值(min()函数)

Pandas dataframe.min()函数返回给定对象中的最小值。如果输入是一个序列,则该方法将返回一个标量,该数量将是该序列中的最小值。如果输入是一个 DataFrame ,则该方法将返回一个在 DataFrame 的指定轴上具有最小值的序列。默认情况下,该轴是索引轴(axis=0)。

通过调用DataFrane对象的min()函数实现行/列数据的最小值运算

DataFrame.min(axis=None,skipna=None,level=None,numeric_only=None,min_count=0,**kwargs)

axis: axis=1 表示行,axis=0表示列,默认值为None(无)。

skipna: 布尔型,表示计算结果是否排除NaN/Null值,默认值为0。

level: 表示索引层级,默认值为None。

numeric_only: 仅数字,布尔型,默认值为None。

min_count: 表示执行操作所需的数目,整型,默认值为0。

**kwargs: 要传递给函数的附加关键字参数。

返回值: 返回Series对象或DataFrane对象。行或列求和数据。

 对三科成绩求最小值

df = pd.DataFrame(data=data,index=index,columns=columns)
new=df.min()
df.append(new,ignore_index=True)

2.5  求中位数(median()函数)

中位数又称中值,是指按顺序排列的一组数据中位于中间的位置的数,不受异常值影响

在Pandas中,我们可以使用`median(`函数来计算一系列数值的中位数。这个函数可以用于计算Series或DataFrame对象中的中位数。 对于Series对象,我们可以直接调用`median(`函数来计算中位数

通过调用DataFrane对象的median()函数实现行/列数据的中位数运算

DataFrame.median(axis=None,skipna=None,level=None,numeric_only=None,min_count=0,**kwargs)

axis: axis=1 表示行,axis=0表示列,默认值为None(无)。

skipna: 布尔型,表示计算结果是否排除NaN/Null值,默认值为0。

level: 表示索引层级,默认值为None。

numeric_only: 仅数字,布尔型,默认值为None。

min_count: 表示执行操作所需的数目,整型,默认值为0。

**kwargs: 要传递给函数的附加关键字参数。

返回值: 返回Series对象或DataFrane对象。行或列求和数据。

对三科成绩求中位数

df = pd.DataFrema(data=data,columns=columns)
print(df.median())

再加入一组数据用同样的方法也可执行

2.6  求众数(mode()函数)

众数就是一组数据中出现最多的数

使用pandas.Series和pandas.DataFrame的mode()方法,可以得到每一列每一行的mode。

在此,对以下内容进行说明。

pandas.Series 中的mode()
pandas.DataFrame 中的mode()
按列获取模式
每行获取模式
获取模式的频率(出现次数)
————————————————
版权声明:本文为CSDN博主「饺子大人」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_18351157/article/details/129783951

通过调用DataFrane对象的mode()函数实现行/列数据的众数运算

DataFrame.mode(axis=None,skipna=None,level=None,numeric_only=None,min_count=0,**kwargs)

axis: axis=1 表示行,axis=0表示列,默认值为None(无)。

skipna: 布尔型,表示计算结果是否排除NaN/Null值,默认值为0。

level: 表示索引层级,默认值为None。

numeric_only: 仅数字,布尔型,默认值为None。

min_count: 表示执行操作所需的数目,整型,默认值为0。

**kwargs: 要传递给函数的附加关键字参数。

返回值: 返回Series对象或DataFrane对象。行或列求和数据。

对三科成绩求众数

df = pd.DataFrema(data=data,columns=columns)
print(df.mode())
print(df.mode(axis=1))
print(df['数学'].mode())

print(df.mode(axis=1))输出为每科成绩的众数

print(df['数学'].mode())输出为数学成绩的众数

所以我们是可以指定输出单科的成绩的

2.7  求方差(var()函数)

方差用于衡量一组数据的离散程度,就是各组数据与他们的平均值的方差,我们可以用这个函数来衡量一些数据的波动,从而可以判断其稳定性,方差越小越稳定,方差越大越不稳定

  1. VaR(Value at Risk),中文叫做风险价值,在给定的置信水平和目标时段下预期的最大损失(或最坏情况下的损失)。

  2. VaR的计算方法有多种,本文使用“历史模拟法”,以历史数据为依据来预测将来,即借助过去一段时间内的投资组合收益频数分布,找到在既定置信水平下的最低收益率,将这个最低收益率作为VaR估算值

通过调用DataFrane对象的var()函数实现行/列数据的方差运算

DataFrame.var(axis=None,skipna=None,level=None,numeric_only=None,min_count=0,**kwargs)

axis: axis=1 表示行,axis=0表示列,默认值为None(无)。

skipna: 布尔型,表示计算结果是否排除NaN/Null值,默认值为0。

level: 表示索引层级,默认值为None。

numeric_only: 仅数字,布尔型,默认值为None。

min_count: 表示执行操作所需的数目,整型,默认值为0。

**kwargs: 要传递给函数的附加关键字参数。

返回值: 返回Series对象或DataFrane对象。行或列求和数据。

对成绩求方差

列子:

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=columuns)
print(df.var(axis=1))

2.8  标准差(数据标准化std()函数)

标准差又称均方差,是方差的平方根,用来表示数据离散程度。 

 Pandas std() 简介 pandas std 函数的作用是:返回所述中心的测试标准误差。当然,标准偏差由N-1标准化

 通过调用DataFrane对象的std()函数实现行/列数据的方差运算

DataFrame.std(axis=None,skipna=None,level=None,numeric_only=None,min_count=0,**kwargs)

 对成绩标准差

df= pd.Dataframe(data=data,index=index,columns=columns)
print(df.std())

 三、常用的pandas函数

四、总结

以上几个函数非常广泛的应用于数据统计,pandas提供了大量的数据计算函数,学习并使用这些函数可以是的数据统计变得简单高效。

  • 52
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值