Python数据分析模块 | pandas做数据分析(三):统计相关函数

计算操作

1、pandas.series.value_counts

Series.value_counts(normalize=False,sort=True,ascending=False, bins=None, dropna=True)

作用:返回一个包含值和该值出现次数的Series对象,次序按照出现的频率由高到低排序.

参数: normalize : 布尔值,默认为False,如果是True的话,就会包含该值出现次数的频率. sort : 布尔值,默认为True.排序控制. ascending : 布尔值,默认为False,以升序排序 bins : integer, optional Rather than count values, group them into half-open bins, a convenience for pd.cut, only works with numeric data dropna : 布尔型,默认为True,表示不包括NaN

2.pandas.DataFrame.count

DataFrame.count(axis=0, level=None, numeric_only=False) Return Series with number of non-NA/null observations over requested axis. Works with non-floating point data as well (detects NaN and None)

Parameters: axis : {0 or ‘index’, 1 or ‘columns’}, default 0 0 or ‘index’ for row-wise, 1 or ‘columns’ for column-wise level : int or level name, default None If the axis is a MultiIndex (hierarchical), count along a particular level, collapsing into a DataFrame numeric_only : boolean, default False Include only float, int, boolean data Returns: count : Series (or DataFrame if level specified)

最大最小值

标准统计函数

pandas.dataframe.sum

返回指定轴上值的和.

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

参数: 
axis : {index (0), columns (1)} 
skipna : 布尔值,默认为True.表示跳过NaN值.如果整行/列都是NaN,那么结果也就是NaN 
level : int or level name, default None 
If the axis is a MultiIndex (hierarchical), count along a particular level, collapsing into a Series 
numeric_only : boolean, default None 
Include only float, int, boolean columns. If None, will attempt to use everything, then use only numeric data. Not implemented for Series. 
Returns: 
sum : Series or DataFrame (if level specified)
import numpy as np
import pandas as pd 
df=pd.DataFrame(data=[[1.4,np.nan],[7.1,-4.5],[np.nan,np.nan],[0.75,-1.3]],                index=["a","b","c","d"],                
columns=["one","two"]) 
print("df:") 
print(df)
#直接使用sum()方法,返回一个列求和的Series,自动跳过NaN值
print("df.sum()")
 print(df.sum())
#当轴为1.就会按行求和
print("df.sum(axis=1)") 
print(df.sum(axis=1))
#选择skipna=False可以禁用跳过Nan值
print("df.sum(axis=1,skipna=False):") 
print(df.sum(axis=1,skipna=False))

结果:

2、pandas.dataframe.mean

返回指定轴上值的平均数.

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

参数: axis : {index (0), columns (1)} skipna :布尔值,默认为True.表示跳过NaN值.如果整行/列都是NaN,那么结果也就是NaN level : int or level name, default None If the axis is a MultiIndex (hierarchical), count along a particular level, collapsing into a Series numeric_only : boolean, default None Include only float, int, boolean columns. If None, will attempt to use everything, then use only numeric data. Not implemented for Series.

例子:

import numpy as np
import pandas as pd 
df=pd.DataFrame(data=[[1.4,np.nan],[7.1,-4.5],[np.nan,np.nan],[0.75,-1.3]],                
index=["a","b","c","d"],                
columns=["one","two"]) 
print("df:") 
print(df)
#直接使用mean()方法,返回一个列求平均数的Series,自动跳过NaN值
print("df.mean()") 
print(df.mean())
#当轴为1.就会按行求平均数
print("df.mean(axis=1)") 
print(df.mean(axis=1))
#选择skipna=False可以禁用跳过Nan值
print("df.mean(axis=1,skipna=False):")
 print(df.mean(axis=1,skipna=False))

结果:

排序

1、pandas.dataframe.sort_values

DataFrame.sort_values(by,axis=0,ascending=True,inplace=False, kind='quicksort', na_position='last')

Sort by the values along either axis

参数: by : str or list of str Name or list of names which refer to the axis items. axis : {0 or ‘index’, 1 or ‘columns’}, default 0 Axis to direct sorting ascending : bool or list of bool, default True Sort ascending vs. descending. Specify list for multiple sort orders. If this is a list of bools, must match the length of the by. inplace : bool, default False if True, perform operation in-place kind : {‘quicksort’, ‘mergesort’, ‘heapsort’}, default ‘quicksort’ Choice of sorting algorithm. See also ndarray.np.sort for more information. mergesort is the only stable algorithm. For DataFrames, this option is only applied when sorting on a single column or label. na_position : {‘first’, ‘last’}, default ‘last’ first puts NaNs at the beginning, last puts NaNs at the end Returns: sorted_obj : DataFrame

原文发布于微信公众号 - 人工智能LeadAI(atleadai)

原文发表时间:2017-12-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏猿人谷

A+B for Matrices 及 C++ transform的用法

题目大意:给定两个矩阵,矩阵的最大大小是M*N(小于等于10),矩阵元素的值的绝对值小于等于100,求矩阵相加后全0的行以及列数。 1 #include<io...

1879
来自专栏闪电gogogo的专栏

Numpy&Pandas

Numpy & Pandas 简介 此篇笔记参考来源为《莫烦Python》 运算速度快:numpy 和 pandas 都是采用 C 语言编写, pandas 又...

2909
来自专栏SeanCheney的专栏

《利用Python进行数据分析·第2版》第8章 数据规整:聚合、合并和重塑8.1 层次化索引8.2 合并数据集8.3 重塑和轴向旋转8.4 总结

在许多应用中,数据可能分散在许多文件或数据库中,存储的形式也不利于分析。本章关注可以聚合、合并、重塑数据的方法。 首先,我会介绍pandas的层次化索引,它广泛...

5239
来自专栏nummy

Python数据科学手册(三)【Pandas的对象介绍】

Pandas构建在Numpy的基础上,它同时支持行和列的操作。 使用pip进行安装:

423
来自专栏GIS讲堂

说说geotools中坐标转换那点事

本文说说geotools中坐标转换的那点事情,以WGS84和web墨卡托相互转换为例。

1732
来自专栏决胜机器学习

PHP数据结构(八) ——赫夫曼树实现字符串编解码(实践1)

PHP数据结构(八)——赫夫曼树实现字符串编解码(实践1) (原创内容,转载请注明来源,谢谢) 公众号规定不能超过3000字,只能分两篇,见谅。 ...

33312
来自专栏SeanCheney的专栏

《Pandas Cookbook》第06章 索引对齐1. 检查索引2. 求笛卡尔积3. 索引爆炸4. 用不等索引填充数值5. 从不同的DataFrame追加列6. 高亮每列的最大值7. 用链式方法重现

第01章 Pandas基础 第02章 DataFrame运算 第03章 数据分析入门 第04章 选取数据子集 第05章 布尔索引 第06章 索引对齐 ...

541
来自专栏nummy

Python数据科学手册(四)【Pandas 索引和选择】

前面我们介绍了Numpy的索引和选择操作,Pandas也具有类似的操作,这节我们将介绍Pandas对象的索引和选择操作。

623
来自专栏行者常至

005.python科学计算库pandas(下)

版权声明:本文为博主原创文章,允许转载,请标明出处。 https://blog.csdn.net/qwdafedv/article/deta...

651
来自专栏数据结构与算法

2144 砝码称重 2

 时间限制: 1 s  空间限制: 16000 KB  题目等级 : 钻石 Diamond 题解 题目描述 Description 有n个砝码,现在要称一个质量...

3526

扫码关注云+社区