1、數據聚合與分組計算
1、根據一個或多個鍵(可以是函數、數組或DataFrame列名)拆分pandas對象
2、計算分組摘要統計,如計數、平均值、標準差,或用戶自定義函數
3、對DataFrame的列應用各種各樣的函數
4、應用組內轉換或其他運算,如規格化、線性迴歸、排名或選取子集等
5、計算透視表或交叉表
6、執行分位數分析以及其他分組分析
2、dataFrame.ix[]先行索引,後列
行優先:從高維度開始
列優先:從低維度開始
concatenate([],axis=1)==hstack()==np.r_[]
vstack dstack np.c_
split
廣播原則:如果兩個數組的後緣維度(從末尾開始算起的維度)的軸長度相符或其中一方的長度爲1,則認爲它們是廣播兼容的。廣播會在缺失和長度爲1的維度上進行。
3、結構化數組的另一個常見用法:
將數據文件寫成定長記錄字節流。只要知道文件的格式(記錄的大小、元素順序、字節數以及數據類型等),就可以使用np.fromfile將數據讀入內存
內存映射,它使你能處理內存中放不下的數據集
4、numpy使用原則:
1、將python循環和條件邏輯轉換爲數組運算和布爾數組運算
2、儘量使用廣播
3、避免複製數據,儘量使用數據視圖(即切片)
4、利用ufunc及其各種方法
考慮C、cpython來提升性能
numpy注意點:
astype無論如何都會創建出一個新的數組
浮點數,比較操作只能在一定小數位以內有效
顯式複製:copy
花式索引,指利用整數數組進行索引,將數據複製到新數組中
設置省略顯示的門檻:
np.set_printoptions(threshold=100)
5、時間序列的基礎頻率:
D H S L U 天 小時 分 秒 毫秒 微秒
WOM-3FRI
p=pd.Period('2014Q4',freq='Q-JAN')
獲取該季度倒數第二個工作日下午4點的時間戳
p4pm=(p.asfreq('B','e')-1).asfreq('T','s')+16*60
升表示,頻率變細,變多
在降採樣中,目標頻率必須是源頻率的子時期
在升採樣中,目標頻率必須是源頻率的超時期
read_csv,解析日期read_csv,parse_dates=True
移動窗口函數:
close_px.rolling(window=60,min_periods=30).quantile(90)
自定義窗口函數:要能從數組的某個片段中產生某個值
6、獲取數據(書本練習中需要)
from pandas_datareader import data as web