常用的数学统计算法

import numpy as np
import pandas as pd
from pandas import Series,DataFrame
df =pd.DataFrame(
    {
        'key1' :[4,5,3, np. nan, 2],
        'key2':[1,2, np.NaN, 4,5],
        'key3' :[1,2,3,'j','k']
    },
    index = ['a','b','c','d','e']
)

#-----输出------#
    key1    key2    key3
a    4.0    1.0    1
b    5.0    2.0    2
c    3.0    NaN    3
d    NaN    4.0    j
e    2.0    5.0    k

平均值默认按 统计整个dataframe求平均值 , 省略NaN及非数值

df.mean()

#-----输出-----#
key1    3.5
key2    3.0
dtype: float64

 统计一列(平均值)  :

## 参数 skipna  作用: 是否忽略NaN , 默认为True ##

df['key1'].mean()   #空值,默认忽略,只统计数值类型的列
df.mean(axis=1)   #统计行
df.loc[['d','a']].mean()

#-----输出-----#
3.5

a    2.5
b    3.5
c    3.0
d    4.0
e    3.5
dtype: float64

key1    4.0
key2    2.5
dtype: float64

 累加、累乘、累计最大值

df = DataFrame(np.random.randint(1,12,size=[3,4]),columns=list('ABCD'),index=list('abc'))
# 累加  cumsum()
df.cumsum()  #依次累加计算  当前索引 :当前值+=上一个值
# 累乘 cumprod()
df.cumprod()  ##依次累乘计算  当前索引 :当前值*=上一个值
# 累计最大值  cummax()
df.cummax()   # 累计最大值,如果当前值大于下一位值,下一位等于当前值   下方折叠结果????
#-----原数据-----#
    A  B   C   D
a  11  6   2  11
b   3  2   6   7
c   5  2  11   3

#-----累加-----#
A    B    C    D
a    11    6    2    11
b    14    8    8    18
c    19    10    19    21

#-----累乘-----#
    A    B    C    D
a    11    6    2    11
b    33    12    12    77
c    165    24    132    231

#-----累计最大值-----#
    A    B    C    D
a    11    6    2    11
b    11    6    6    11
c    11    6    11    11
View Code

相关文章:

  • 2021-10-18
  • 2021-08-18
  • 2021-08-29
  • 2022-12-23
  • 2022-12-23
  • 2021-07-12
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-04
  • 2021-11-11
  • 2019-01-31
  • 2021-10-11
相关资源
相似解决方案