Pandas数学函数大揭秘:让数据处理变得如此简单高效,轻松玩转数据分析新纪元!

在这里插入图片描述

1.导包

# 导包
import numpy as np
import pandas as pd

2.聚合函数

df = pd.DataFrame(data=np.random.randint(0,100,size=(5,3)))
df
0 1 2
0 35 50 28
1 55 23 76
2 31 41 93
3 58 95 43
4 67 99 17
# 列非空元素的数量
df.count()
0    5
1    5
2    5
dtype: int64
# 行非空元素的数量
df.count(axis=1)
0    3
1    3
2    3
3    3
4    3
dtype: int64
# 默认求每一列中不同行之间的最大值
df.max()
0    67
1    99
2    93
dtype: int32
# 求每一行中不同列之间的最大值
df.max(axis=1)
0    50
1    76
2    93
3    95
4    99
dtype: int32
# 求最小值
df.min()
0    31
1    23
2    17
dtype: int32
df.min(axis=1)
0    28
1    23
2    31
3    43
4    17
dtype: int32
# 求中位数
df.median()
0    55.0
1    50.0
2    43.0
dtype: float64
# 求每列元素的和
df.sum()
0    246
1    308
2    257
dtype: int64
# 求每行元素的和
df.sum(axis=1)
0    113
1    154
2    165
3    196
4    183
dtype: int64
# 求所有元素的和
df.values.sum()
811
# 求每一列不同行的平均值
df.mean()
0    49.2
1    61.6
2    51.4
dtype: float64
# 求每一行不同列的平均值
df.mean(axis=1)
0    37.666667
1    51.333333
2    55.000000
3    65.333333
4    61.000000
dtype: float64

3.方差

  • 当数据分布比较分散(即数据在平均数附近波动较大)时,各个数据与平均数的差的平方和较大,方差就较大
  • 当数据分布比较集中时,各个数据与平均数的差的平方和较小
  • 因此方差较大,数据的波动较大;方差越小数据的波动就越小
  • 标准差
    • 标准差 = 方差的算术平方根
df = pd.DataFrame(data=np.random.randint(0,100,size=(5,3)))
df
0 1 2
0 72 41 9
1 36 75 45
2 99 89 33
3 30 23 77
4 19 52 16
# 方差
df.var()
0    1108.7
1     695.0
2     725.0
dtype: float64
# 标准差
df.std()
0    33.297147
1    26.362853
2    26.925824
dtype: float64

4.其他数学函数

# 统计元素出现次数
df[1].value_counts()
1
41    1
75    1
89    1
23    1
52    1
Name: count, dtype: int64
# 累加
df.cumsum()
0 1 2
0 72 41 9
1 108 116 54
2 207 205 87
3 237 228 164
4 256 280 180
# 累乘
df.cumprod()
0 1 2
0 72 41 9
1 2592 3075 405
2 256608 273675 13365
3 7698240 6294525 1029105
4 146266560 327315300 16465680

5.协方差

  • 两组数值中每对变量的偏差乘积的平均值
  • 协方差>0:表示两组变量正相关
    • 如果两个变量的变化趋势一致,也就是说如果其中一个大于自身的期望值是另外一个也大于自身的值,那么两个变量之间的协方差就是正值
  • 协方差<0:表示两组变量负相关
    • 如果两个变量的变化趋势相反,即其中一个变量大于自身的期望值是另外一个却小于自身的期望值,那么两个变量之间的协方差就是负值
  • 协方差=0:表示两组变量不相关
# 协方差
df.cov()
0 1 2
0 1108.70 451.25 -266.75
1 451.25 695.00 -199.00
2 -266.75 -199.00 725.00
# 第0列和第1列的协方差
df[0].cov(df[1])
451.25
  • 相关系数 r
    • 相关系数 = X与Y的协方差 / (X的标准差 * Y的标准差)
    • 相关系数值的范围在 -1 和 +1 之间
    • r > 0 为正相关,r < 0 为负相关,r = 0 表示不相关
    • r 的绝对值越大,相关程度越高
# 所有特征相关系数
df.corr()
0 1 2
0 1.000000 0.514065 -0.297528
1 0.514065 1.000000 -0.280344
2 -0.297528 -0.280344 1.000000
# 单一特征相关系数
df.corrwith(df[2])
0   -0.297528
1   -0.280344
2    1.000000
dtype: float64

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 04:30:04       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 04:30:04       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 04:30:04       57 阅读
  4. Python语言-面向对象

    2024-07-12 04:30:04       68 阅读

热门阅读

  1. react hooks antd 父组件取子组件form表单的值

    2024-07-12 04:30:04       21 阅读
  2. 数据分析的汇报与观点表达

    2024-07-12 04:30:04       26 阅读
  3. GPT-5 对人工智能领域的深远影响

    2024-07-12 04:30:04       22 阅读
  4. STM320F28377D双核烧写

    2024-07-12 04:30:04       21 阅读
  5. uniapp小程序IOS端,uni.createInnerAudioContext()无声音

    2024-07-12 04:30:04       21 阅读
  6. 播放ReadableStream格式二进制流音频

    2024-07-12 04:30:04       31 阅读
  7. websocket学习

    2024-07-12 04:30:04       26 阅读
  8. Docker 安装字体文件

    2024-07-12 04:30:04       28 阅读
  9. 玩转springboot之xxxRunner接口使用

    2024-07-12 04:30:04       24 阅读
  10. Spring Security的Filter

    2024-07-12 04:30:04       27 阅读