創建一維數據類型Series
data=None 要轉化為Series的數據(也可用dict直接設置行索引) 若是標量則必須設置索引,該值會重復,來匹配索引的長度
index=None 設置行索引
dtype=None 設置數據類型(使用numpy數據類型)
name=None 設置Series的name屬性
copy=False 不復制 (當data為ndarray,Series時生效,否則復制)
fastpath=False
# @Author : 小紅牛
# 微信公眾號:wdPython
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 乘法運算. 同ss2
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 右側乘法. 同s2s
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