pandas的汇总和计算描述统计
2018-01-07 21:37
260 查看
pandas提供了很多常用的数学和统计方法,其中大部分都属于约简和汇总统计,用于从Series中提取单个值(如sum或mean)或从DataFrame的行或列中提取一个Series。
[b]一、DataFrame的sum和mean方法[/b]
a = [[1,np.nan,9],[2,8,3],[3,5,np.nan]]
data = DataFrame(a,index=["a","b","c"],columns=["one","two","three"])
print(data)
'''
one two three
a 1 NaN 9.0
b 2 8.0 3.0
c 3 5.0 NaN
'''
#对列求和
print(data.sum())
'''
one 6.0
two 13.0
three 12.0
'''
#对行求和
print(data.sum(axis=1))
'''
a 10.0
b 13.0
c 8.0
'''
#对行求平均值,默认排除NaN值
print(data.mean(axis=1))
'''
a 5.000000
b 4.333333
c 4.000000
'''
#对行求平均值,禁用自动排除NaN值
print(data.mean(axis=1,skipna=False))
'''
a NaN
b 4.333333
c NaN
'''
[b]二、统计[/b]
a = [[1,np.nan,9],[2,8,3],[3,5,np.nan]]
data = DataFrame(a,index=["0","1","2"],columns=["a","b","c"])
print(data)
'''
a b c
0 1 NaN 9.0
1 2 8.0 3.0
2 3 5.0 NaN
'''
#返回每一列中最大值的行索引
print(data.idxmax())
'''
a 2
b 1
c 0
'''
#返回每一列中最小值的行索引
print(data.idxmin())
'''
a 0
b 2
c 1
'''
#对每列的值进行累加
print(data.cumsum())
'''
a b c
0 1.0 NaN 9.0
1 3.0 8.0 12.0
2 6.0 13.0 NaN
'''
上面的操作都是对于列,如果想要对行进行操作,只需要在方法中设置axis参数为1即可。
三、描述
a、DataFrame
a = [[1,np.nan,9],[2,8,3],[3,5,np.nan]]
data = DataFrame(a,index=["0","1","2"],columns=["a","b","c"])
print(data)
'''
a b c
0 1 NaN 9.0
1 2 8.0 3.0
2 3 5.0 NaN
'''
#列出DataFrame的描述
'''
四分位数用于绘制箱线图判断是否为异常值
count:该列(行)非NA值的个数
mean :该列(行)的均值
std :该列(行)的方差
25% :上四分位数
50% :非NA值的平均数
75% :下四分位数
max :最大值
'''
print(data.describe())
'''
a b c
count 3.0 2.00000 2.000000
mean 2.0 6.50000 6.000000
std 1.0 2.12132 4.242641
min 1.0 5.00000 3.000000
25% 1.5 5.75000 4.500000
50% 2.0 6.50000 6.000000
75% 2.5 7.25000 7.500000
max 3.0 8.00000 9.000000
'''
[b]b、Series[/b]
如果值是数值型的描述与DataFrame一致,下面展示当值为非数值的时候的描述。
s = Series(["a","b","b","d"])
print(s)
'''
0 a
1 b
2 b
3 d
'''
print(s.describe())
'''
count 4
unique 3
top b
freq 2
'''除了上面提到的方法之外,pandas还提供了许多的方法,如下表
[b]一、DataFrame的sum和mean方法[/b]
a = [[1,np.nan,9],[2,8,3],[3,5,np.nan]]
data = DataFrame(a,index=["a","b","c"],columns=["one","two","three"])
print(data)
'''
one two three
a 1 NaN 9.0
b 2 8.0 3.0
c 3 5.0 NaN
'''
#对列求和
print(data.sum())
'''
one 6.0
two 13.0
three 12.0
'''
#对行求和
print(data.sum(axis=1))
'''
a 10.0
b 13.0
c 8.0
'''
#对行求平均值,默认排除NaN值
print(data.mean(axis=1))
'''
a 5.000000
b 4.333333
c 4.000000
'''
#对行求平均值,禁用自动排除NaN值
print(data.mean(axis=1,skipna=False))
'''
a NaN
b 4.333333
c NaN
'''
[b]二、统计[/b]
a = [[1,np.nan,9],[2,8,3],[3,5,np.nan]]
data = DataFrame(a,index=["0","1","2"],columns=["a","b","c"])
print(data)
'''
a b c
0 1 NaN 9.0
1 2 8.0 3.0
2 3 5.0 NaN
'''
#返回每一列中最大值的行索引
print(data.idxmax())
'''
a 2
b 1
c 0
'''
#返回每一列中最小值的行索引
print(data.idxmin())
'''
a 0
b 2
c 1
'''
#对每列的值进行累加
print(data.cumsum())
'''
a b c
0 1.0 NaN 9.0
1 3.0 8.0 12.0
2 6.0 13.0 NaN
'''
上面的操作都是对于列,如果想要对行进行操作,只需要在方法中设置axis参数为1即可。
三、描述
a、DataFrame
a = [[1,np.nan,9],[2,8,3],[3,5,np.nan]]
data = DataFrame(a,index=["0","1","2"],columns=["a","b","c"])
print(data)
'''
a b c
0 1 NaN 9.0
1 2 8.0 3.0
2 3 5.0 NaN
'''
#列出DataFrame的描述
'''
四分位数用于绘制箱线图判断是否为异常值
count:该列(行)非NA值的个数
mean :该列(行)的均值
std :该列(行)的方差
25% :上四分位数
50% :非NA值的平均数
75% :下四分位数
max :最大值
'''
print(data.describe())
'''
a b c
count 3.0 2.00000 2.000000
mean 2.0 6.50000 6.000000
std 1.0 2.12132 4.242641
min 1.0 5.00000 3.000000
25% 1.5 5.75000 4.500000
50% 2.0 6.50000 6.000000
75% 2.5 7.25000 7.500000
max 3.0 8.00000 9.000000
'''
[b]b、Series[/b]
如果值是数值型的描述与DataFrame一致,下面展示当值为非数值的时候的描述。
s = Series(["a","b","b","d"])
print(s)
'''
0 a
1 b
2 b
3 d
'''
print(s.describe())
'''
count 4
unique 3
top b
freq 2
'''除了上面提到的方法之外,pandas还提供了许多的方法,如下表
相关文章推荐
- pandas汇总和计算描述统计
- python:pandas(3),汇总和计算描述统计
- pandas之汇总和计算描述统计到层次化索引
- python数据分析之Pandas:汇总和计算描述统计
- pandas带有重复值的轴索引,汇总和计算描述统计,相关系数与协方差
- pandas小记:pandas计算工具-汇总统计
- python数据分析pandas包入门学习(三)汇总和统计描述
- 利用Python进行数据分析(9) pandas基础: 汇总统计和计算
- pandas小记:pandas计算工具-汇总统计
- 利用 Python 进行数据分析(九)pandas 汇总统计和计算
- python数据分析pandas包入门学习(三)汇总和统计描述
- 统计纹理描述的方法汇总
- 数据分析之Pandas(三):汇总、统计、相关系数和协方差
- Pyhton科学计算工具Pandas(五)—— 常用的数值计算和统计方法
- Pandas 描述统计函数
- 界面元素查询语句计算页数SQL中增加汇总值描述
- python-pandas 描述和汇总统计表
- python/pandas/Numpy数据分析-统计描述,唯一值,值计数
- 福利 | 资料下载_AI创业公司入选行业榜单统计汇总(7份榜单,315家公司)
- python计算的效率问题-pandas、numpy结合代替遍历pandas数据