方法 | 返回数据类型 | 参数 | 说明 |
Series(一维) | |||
.Series() |
Series 实例s |
创建一维数据类型Series | |
data=None | 要转化为Series的数据(也可用dict直接设置行索引) 若是标量则必须设置索引,该值会重复,来匹配索引的长度 | ||
index=None | 设置行索引 | ||
dtype=None | 设置数据类型(使用numpy数据类型) | ||
name=None | 设置Series的name属性 | ||
copy=False | 不复制 (当data为ndarray,Series时生效,否则复制) | ||
fastpath=False | |||
s.values | ndarray | 返回s的值 | |
s.name | str | 返回s的name(可更改) | |
s.index | Index | 返回s的索引(可更改) | |
s.index.name | str | 返回s的索引的name属性(可更改) | |
s.index.is_unique | bool | 判断s的索引值是否唯一 | |
s.dtype | np.dtype | 返回s的数据类型 | |
s.ftype | str | 返回s是稀疏的还是稠密的 | |
s.shape | tuple | 返回s的形状 (n,) | |
s.nbytes | int | 返回s的字节数 | |
s.ndim | int | 返回s的纬度数 1 | |
s.size | int | 返回s的元素数量 | |
s.strides | tuple | 返回s中数据的步幅, 即指针移动一次的字节数 (单元素字节数,) | |
s.itemsize | int | 返回s中元素的字节数 | |
s.base | |||
s.T | Series | 返回s的转置, 但s是一维的所以还是它本身 | |
s.memory_usage() | int | s的内存使用情况(字节) | |
index=True | 索引是否参与计算 | ||
deep=False | 是否计算s引用的对象的内存使用情况 | ||
s.astype() | Series | 转换数据类型 | |
dtype | np.dtype | ||
copy=True | 是否复制基层数据 | ||
errors='raise' | 'raise': 转换失败则报错 | ||
'ignore': 转换失败则保留原数据类型 | |||
s.copy() | Series | 拷贝s | |
deep=True | True: 浅拷贝; False: 引用对象 | ||
s.isnull() | Series | 返回一个大小相同值为bool的对象, 指示值是否为null | |
s.notnull() | Series | 返回一个大小相同值为bool的对象, 指示值是否不为null | |
索引, 迭代 | |||
s.get() | 返回s中对应索引的值, 若索引不存在则返回None或指定值 | ||
key | 想要获取的值的索引 | ||
default=None | 若索引不存在返回的值 | ||
s.at[i] | 标量 | 基于标签的访问器 | |
s.iat[n] | 标量 | 基于位置的访问器 | |
s.ix[i or n] 或 s[] | 基于标签和位置的访问器, 支持.loc和.iloc中的任何输入 | ||
s.loc[i] | [i] | 基于单个标签访问 | |
[i1, i2, i3] | 基于多个标签访问 | ||
[i1:i2] | 返回i1与i2之间的元素(包括边界) | ||
[[bool]] | 传入bool数组, 返回True位置对应的那些值 | ||
s.iloc[n] | [n] | 基于单个位置访问 | |
[n1, n2, n3] | 基于多个位置访问 | ||
[n1:n2] | 类似list | ||
[[bool]] | 传入bool数组, 返回True位置对应的那些值 | ||
s.__iter__() | Iterator | 返回一个基于值的迭代器 | |
s.iteritems | Iterator | 返回一个(索引, 值)的迭代器 | |
运算 | |||
s.add() | Series | 加法运算. 同s+s2 | |
other | Series或标量 | ||
level=None | |||
fill_value=None | 使用此值填充缺失值 | ||
s.sub() | Series | 减法运算. 同s-s2 | |
s.mul() | Series | 乘法运算. 同s*s2 | |
s.div() | Series | 浮点除法运算. 同s/s2 | |
s.truediv() | Series | 浮点除法运算. 同s/s2 | |
s.floordiv() | Series | 整数除法运算. 同s//s2 | |
s.mod() | Series | 取模(余)运算. 同s%s2 | |
s.pow() | Series | 幂运算. 同s**s2 | |
s.radd() | Series | 右侧加法. 同s2+s | |
s.rsub() | Series | 右侧减法. 同s2-s | |
s.rmul() | Series | 右侧乘法. 同s2*s | |
s.rdiv() | Series | 右侧浮点除法. 同s2/s | |
s.rtruediv() | Series | 右侧浮点除法. 同s2/s | |
s.rfloordiv() | Series | 右侧整数除法. 同s2//s | |
s.rmod() | Series | 右侧取余运算. 同s2%s | |
s.rpow() | Series | 右侧幂运算. 同s2**s | |
s.lt() | Series | 同 s < s2 | |
s.gt() | Series | 同 s > s2 | |
s.le() | Series | 同 s <= s2 | |
s.ge() | Series | 同 s >= s2 | |
s.ne() | Series | 同 s != s2 | |
s.eq() | Series | 同 s == s2 | |
s.combine() | Series | 使用自定义函数运算 | |
other | Series或标量 | ||
func | 传入两个参数, 返回一个参数的函数 | ||
fill_value=nan | 当其中一个s缺少索引是, 使用此值填充后进行运算 | ||
s.combine_first() | Series | other | 求索引的并集, 优先保留左侧的值 |
s.round() | Series | decimals=0 | 四舍五入为给定的小数位数 |
np.exp(s) | Series | 支持大多数numpy方法 | |
功能应用 | |||
s.apply() |
Series |
对s中所有值执行某一操作 | |
func | s中每个值要执行的操作(函数) | ||
convert_dtype=T | 尝试自动适配dtype, 若为False, 则保留为dtype=object | ||
args=() | 除了值之外, 还要传递给函数的位置参数 | ||
**kwds | 传递给函数的关键字参数 | ||
s.map() | Series | 映射 | |
arg | fun: 传入value返回值作为输出 | ||
dict或Series: 映射key(index)->value | |||
na_action=None | 'ignore': s中nan值将不会受到映射函数的影响 | ||
计算/描述统计 | |||
s.abs() | Series | 返回所有值的绝对值 | |
s.all() | bool | s中是否全为True(非bool值默认会转换) | |
s.any() | bool | s中是否存在True(非bool值默认会转换) | |
s.autocorr() | float | Lag-N自相关 | |
lag=1 | 执行自相关之前应用的滞后数 | ||
... | |||
重构索引 / 选择 / 标签操作 | |||
s.align() | tuple | 更新索引, 并以(new_s, new_s2)的形式返回, 缺失以nan补全 | |
other | Series | ||
join='outer' | 'outer': 新索引为s与s2的并集 | ||
'inner': 新索引为s与s2的交集 | |||
'left' : 新索引为s的索引 | |||
'right': 新索引为s2的索引 | |||
axis=None | Series不要更改此参数 | ||
level=None | |||
copy=True | 是否返回新对象 | ||
fill_value=None | 缺失值使用的值, 默认np.NaN | ||
method=None | |||
limit=None | |||
fill_axis=0 | |||
broadcast_ axis=None | |||
s.drop() | Series | 删除对应标签并返回新对象 | |
labels | 单一标签或list_like | ||
axis=0 | |||
level=None | |||
inplace=False | 若为True则修改s本身而不是新生成一个对象 | ||
error='raise' | 'ignore' :忽略错误 | ||
s.drop_duplicates() | Series | 删除重复项 | |
keep | 'first': 仅保留第一次出现的副本(默认) | ||
'last': 删除重复项, 但最后一项除外 | |||
False: 删除所有重复项 | |||
inplace=False | 若为True则修改s本身而不是新生成一个对象 | ||
s.duplicated() | Series | 返回是否是重复项的bool表示结果 | |
keep | 'first': 除第一次出现外, 标记重复为True | ||
'last': 除了最后一次出现, 标记重复为True | |||
False: 将所有重复项标记为True | |||
s.equal() | bool | other | 判断两个Series是否包含相同元素, 相同位置NaN被认为是相同的 |
s.first() | Series | 基于时间偏移来获取时间序列的子集 | |
offset | '10D': 前10天 | ||
s.last() | Series | offset | '5M': 过去5个月 |
s.head() | Series | n=5 | 返回前n行 |
s.idxmax() | index | skipna=True | 排除NA/null值(否则返回nan) |
s.idxmin() | index | skipna=True | 排除NA/null值(否则返回nan) |
s.isin() | Series | 返回布尔Series, 显示s中每个元素是否包含在传入的序列中 | |
values | set或list-like, 不可以是单个字符串 | ||
s.reindex() | Series | 更新索引, 索引对应的值不变, 之前不存在的索引的值默认设为NaN(s的索引必须单调递增或递减) | |
index | 新索引 | ||
method=None | None: 不填充间隙 | ||
'backfill' / 'bfill': 将比此索引排序靠后的有效值索引的值填充到此处 | |||
'pad' / 'ffill': 将比此索引排序靠前的有效值索引的值填充到此处 | |||
'nearest': 仅适用于可用于判断距离的索引, 选择离得最近的索引的值填充 | |||
copy=True | 返回一个新对象, 即使传递的索引是相同的 | ||
level=None | |||
fill_value=np.nan | 缺失值填充的内容 | ||
limit=None | 向前或向后填充的连续元素的最大数量(貌似索引只能是数字) | ||
tolerance=None | 原标签和新标签的最大距离(可计算距离的数据类型) | ||
s.rename() | Series | 修改Series的name或索引且产生一个新的Series(应该可以本地修改, 但尝试没有成功) | |
index |
标量: 更改s的name | ||
fun: 把索引传入函数, 传出值替换原索引 | |||
字典: {old_index: new_index} | |||
copy=True | |||