前言
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()函数)
方差用于衡量一组数据的离散程度,就是各组数据与他们的平均值的方差,我们可以用这个函数来衡量一些数据的波动,从而可以判断其稳定性,方差越小越稳定,方差越大越不稳定
-
VaR(Value at Risk),中文叫做风险价值,在给定的置信水平和目标时段下预期的最大损失(或最坏情况下的损失)。
-
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提供了大量的数据计算函数,学习并使用这些函数可以是的数据统计变得简单高效。