本文已参与「新人创作礼」活动, 一起开启掘金创作之路。
格式说明:
方法返回值类型说明参数说明
下文中 s 表示 Series 的一个实例
pd.Series()Series创建一维数据类型Seriesdata=None要转化为Series的数据(也可用dict直接设置行索引) 若是标量则必须设置索引,该值会重复,来匹配索引的长度index=None设置行索引dtype=None设置数据类型(使用numpy数据类型)name=None设置Series的name属性copy=False不复制 (当data为ndarray,Series时生效,否则复制)fastpath=False
s.valuesndarray返回s的值s.namestr返回s的name(可更改)s.indexIndex返回s的索引(可更改)s.index.namestr返回s的索引的name属性(可更改)s.index.is_uniquebool判断s的索引值是否唯一s.dtypenp.dtype返回s的数据类型s.ftypestr返回s是稀疏的还是稠密的s.shapetuple返回s的形状 (n,)s.nbytesint返回s的字节数s.ndimint返回s的纬度数 1s.sizeint返回s的元素数量s.stridestuple返回s中数据的步幅, 即指针移动一次的字节数 (单元素字节数,)s.itemsizeint返回s中元素的字节数s.bases.TSeries返回s的转置, 但s是一维的所以还是它本身s.memory_usage()ints的内存使用情况(字节)index=True索引是否参与计算deep=False是否计算s引用的对象的内存使用情况
s.astype()Series转换数据类型dtypenp.dtypecopy=True是否复制基层数据errors='raise''raise': 转换失败则报错; 'ignore': 转换失败则保留原数据类型
s.copy()Series拷贝sdeep=TrueTrue: 浅拷贝; False: 引用对象
s.isnull()Series返回一个大小相同值为bool的对象, 指示值是否为nulls.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.iteritemsIterator返回一个(索引, 值)的迭代器
运算
s.add()Series加法运算. 同s+s2otherSeries或标量level=Nonefill_value=None使用此值填充缺失值
s.sub()Series减法运算. 同s-s2s.mul()Series乘法运算. 同s*s2s.div()Series浮点除法运算. 同s/s2s.truediv()Series浮点除法运算. 同s/s2s.floordiv()Series整数除法运算. 同s//s2s.mod()Series取模(余)运算. 同s%s2s.pow()Series幂运算. 同s**s2s.radd()Series右侧加法. 同s2+ss.rsub()Series右侧减法. 同s2-ss.rmul()Series右侧乘法. 同s2*ss.rdiv()Series右侧浮点除法. 同s2/ss.rtruediv()Series右侧浮点除法. 同s2/ss.rfloordiv()Series右侧整数除法. 同s2//ss.rmod()Series右侧取余运算. 同s2%ss.rpow()Series右侧幂运算. 同s2**ss.lt()Series同 s < s2s.gt()Series同 s > s2s.le()Series同 s <= s2s.ge()Series同 s >= s2s.ne()Series同 s != s2s.eq()Series同 s == s2s.combine()Series使用自定义函数运算otherSeries或标量func传入两个参数, 返回一个参数的函数fill_value=nan当其中一个s缺少索引是, 使用此值填充后进行运算
s.combine_first()Seriesother | 求索引的并集, 优先保留左侧的值 |s.round()Seriesdecimals=0 | 四舍五入为给定的小数位数 |np.exp(s)Series支持大多数numpy方法
功能应用
s.apply()Series对s中所有值执行某一操作funcs中每个值要执行的操作(函数)convert_dtype=T尝试自动适配dtype, 若为False, 则保留为dtype=objectargs=()除了值之外, 还要传递给函数的位置参数**kwds传递给函数的关键字参数
s.map()Series映射argfun: 传入value返回值作为输出; dict或Series: 映射key(index)->valuena_action=None'ignore': s中nan值将不会受到映射函数的影响
计算/描述统计
s.abs()Series| 返回所有值的绝对值 |s.all()bool| s中是否全为True(非bool值默认会转换) |s.any()bool| s中是否存在True(非bool值默认会转换) |s.autocorr()floatLag-N自相关lag=1执行自相关之前应用的滞后数
重构索引 / 选择 / 标签操作
s.align()tuple更新索引, 并以(new_s, new_s2)的形式返回, 缺失以nan补全otherSeriesjoin='outer''outer': 新索引为s与s2的并集'inner': 新索引为s与s2的交集'left': 新索引为s的索引'right': 新索引为s2的索引
axis=NoneSeries不要更改此参数level=Nonecopy=True是否返回新对象fill_value=None缺失值使用的值, 默认np.NaNmethod=Nonelimit=Nonefill_axis=0broadcast_ axis=None
s.drop()Series删除对应标签并返回新对象labels单一标签或list_likeaxis=0level=Noneinplace=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': 除了最后一次出现, 标记重复为TrueFalse: 将所有重复项标记为True
s.equal()bool判断两个Series是否包含相同元素, 相同位置NaN被认为是相同的otherSeries
s.first()Series基于时间偏移来获取时间序列的子集offset'10D': 前10天
s.last()Series基于时间偏移来获取时间序列的子集offset'5M': 过去5个月
s.head()Series返回前n行n=5返回前n行
s.idxmax()indexskipna=True排除NA/null值(否则返回nan)
s.idxmin()indexskipna=True排除NA/null值(否则返回nan)
s.isin()Series返回布尔Series, 显示s中每个元素是否包含在传入的序列中valuesset或list-like, 不可以是单个字符串
s.reindex()Series更新索引, 索引对应的值不变, 之前不存在的索引的值默认设为NaN(s的索引必须单调递增或递减)index新索引method=NoneNone: 不填充间隙'backfill' / 'bfill': 将比此索引排序靠后的有效值索引的值填充到此处'pad' / 'ffill': 将比此索引排序靠前的有效值索引的值填充到此处'nearest': 仅适用于可用于判断距离的索引, 选择离得最近的索引的值填充
copy=True返回一个新对象, 即使传递的索引是相同的level=Nonefill_value=np.nan缺失值填充的内容limit=None向前或向后填充的连续元素的最大数量(貌似索引只能是数字)tolerance=None原标签和新标签的最大距离(可计算距离的数据类型)
s.rename()Series修改Series的name或索引且产生一个新的Series(应该可以本地修改, 但尝试没有成功)index标量: 更改s的namefun: 把索引传入函数, 传出值替换原索引字典: {old_index: new_index}
copy=True