pandas:描述和汇总统计

pandas提供了很多常用的数学和统计方法,其中大部分都属于约简和汇总统计,用于从Series中提取单个值(如sum或mean)或从DataFrame的行或列中提取一个Series。

mean()平均值 median()中位数 max()最大值 min()最小值 sum()求和 std()标准差

Series类型独有的方法: argmax()最大值的位置 argmin()最小值的位置

DataFrame的summean方法
    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
    '''

在这里插入图片描述

统计 .idxmax(), .idxmin(), .cumsum()
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
dtype: object
'''

#返回每一列中最小值的行索引
print(data.idxmin())
'''
a    0
b    2
c    1
dtype: object
'''

#对每列的值进行累加
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、Series

如果值是数值型的描述与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
    '''
argmax()某一列最大值的位置 argmin()最小值的位置,.tolist() tolist()转换成list类型
# coding=utf-8
import numpy as np
import pandas as pd
 
 
# 创建DataFrame
df = pd.DataFrame(np.arange(12, 32).reshape((5, 4)), index=["a", "b", "c", "d", "e"], columns=["WW", "XX", "YY", "ZZ"])
print(df)
'''
   WW  XX  YY  ZZ
a  12  13  14  15
b  16  17  18  19
c  20  21  22  23
d  24  25  26  27
e  28  29  30  31
'''
 
 
# mean()平均值  median()中位数  max()最大值  min()最小值  sum()求和  std()标准差
print(df.mean())  # 每一列平均值 (Series类型)
'''
WW    20.0
XX    21.0
YY    22.0
ZZ    23.0
dtype: float64
'''
 
print(df["YY"].mean())  # 22.0  指定列的平均值
 
print(df["YY"])  # Series类型
YY_list = df["YY"].tolist()  # tolist()转换成list类型
print(YY_list)  # [14, 18, 22, 26, 30]
print(len(YY_list))  # 5
print(len(set(YY_list)))  # set集合可以去重
 
print(df["YY"].unique())  # [14 18 22 26 30]  unique()自动去重(ndarray类型)
 
 
print(df.max())  # 每一列的最大值 Series类型。  min()最小值
'''
WW    28
XX    29
YY    30
ZZ    31
dtype: int64
'''
 
# argmax()某一列最大值的位置  argmin()最小值的位置
print(df["YY"].argmax())  # e
 

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值