pandas是Python的扩展库(第三方库),为Python编程语言提供 高性能、易于使用的数据结构和数据分析工具。
pandas官方文档:User Guide — pandas 2.2.2 documentation
帮助:可使用help(...)查看函数说明文档(若是第三方库的函数,需先导入库)。例如:help(pd.DataFrame),help(pd.crosstab)
Python代码中,导入pandas:
import pandas as pd
使用pandas时,通常涉及numpy,若需要也导入numpy:
import numpy as np
1、算术运算
数值行/列可以进行算术运算(加、减、乘、除、取余、幂等)。
2、与其他行/列进行计算
数值行/列可以与其他数值行/列进行计算。
3、用于计算的函数
(3-1)算术运算的函数:add, radd, sub, pow等
有一些函数可以用于算术运算,也可以将两个DataFrame之间进行计算。
例如(加法):DataFrame.add(self, other, axis='columns', level=None, fill_value=None)
注:参数other:数值、序列(如:列表/字典)、Series、另一个DataFrame。
参数axis:指定轴。若other是Series默认按索引,若other是列表/字典默认按列。
参数fill_value:指定NaN的填充内容。
DataFrame.add(...) | 加 |
DataFrame.sub(...) | 减 |
DataFrame.mul(...) | 乘 |
DataFrame.div(...) | 除 |
DataFrame.truediv(...) | 除 |
DataFrame.floordiv(...) | 除(返回整数) |
DataFrame.mod(...) | 取余 |
DataFrame.pow(...) | 幂 |
DataFrame.rsub(...) | 减(反向)。不是“3-5”而是“5-3” |
DataFrame.rdiv(...) | 除(反向)。不是“3/5”而是“5/3” |
DataFrame.rmod(...) | 取余(反向)。不是“3%5”而是“5%3” |
DataFrame.rpow(...) | 幂(反向)。不是“3**5”而是“5**3” |
DataFrame.abs(...) | 取绝对值 |
(3-2)累计计算的函数:cumsum, cummax等
有一些函数可以用于指定轴的累计计算(各位置的数值是按指定轴从位置0到该位置累计计算的数值)。
例如(累计求和):DataFrame.cumsum(self, axis=None, skipna=True, *args, **kwargs)
注:参数axis:指定轴。若axis=0 则各列累计计算,若axis=1 则各行累计计算。
参数skipna:默认skipna=True 跳过NaN。
DataFrame.cummax(...) | 指定轴,各位置数值是从位置0到该位置的累计最大值 |
DataFrame.cummin(...) | 指定轴,各位置数值是从位置0到该位置的累计最小值 |
DataFrame.cumsum(...) | 指定轴,各位置数值是从位置0到该位置的累计求和 |
DataFrame.cumprod(...) | 指定轴,各位置数值是从位置0到该位置的累计乘积 |
(3-3)计算矩阵乘法的函数:dot
dot(self, other: 'AnyArrayLike | DataFrame') -> 'DataFrame | Series'
- DataFrame.dot(other):DataFrame与另一个DataFrame或Series进行矩阵乘法。
- 等效于:DataFrame @ other
- 注:DataFrame和other维度需兼容(即DataFrame的列数和other的行数相同),才能进行矩阵乘法。结果是新DataFrame(原DataFrame的行数,other的列数)。
DataFrame.columns和other.index需相同,否则报错:ValueError: matrices are not aligned。