天天看點

pandas進行數學計算和資料處理

pandas基礎

  • 數學統計和計算
    • 統計函數
      • 協方差
        • Series對象之間的協方差計算
          pandas進行數學計算和資料處理
          pandas進行數學計算和資料處理
          對不同長度的對象進行協方差計算,pandas會進行資料的自動對齊操作,即取得series_1的前八位元素與series_3的所有元素進行協方差運算
        • DataFrame對象之間的協方差計算
          pandas進行數學計算和資料處理
      • 相關系數
      • 排序
    • 視窗函數
      • Rolling對象
        pandas進行數學計算和資料處理
        pandas進行數學計算和資料處理
        • cumsum()函數
          • 對Series和DataFrame對象計算累加和
        • count() 函數
          • 移動視窗内非NaN值的計數
        • sum() 函數
          • 移動視窗内的和
        • mean() 函數
          • 移動視窗内的平均值
        • median() 函數
          • 移動視窗内的中位數
        • min() 函數
          • 移動視窗内的最小值
        • max() 函數
          • 移動視窗内的最大值
        • std() 函數
          • 移動視窗内的無偏估計标準差(分母為n-1)
        • var() 函數
          • 移動視窗内的無偏估計方差(分母為n-1)
        • skew() 函數
          • 移動視窗内的偏度
        • kurt() 函數
          • 移動視窗内的峰度
        • cov() 函數
          • 移動視窗内的協方差
        • corr() 函數
          • 移動視窗内的相關系數
        • apply() 函數
          • 在移動視窗内使用普通(可自定義)數組函數
            pandas進行數學計算和資料處理
      • Expanding 對象
        • 可看做特殊的window為資料長度,min_periods為1的Rolling對象
          pandas進行數學計算和資料處理
      • EWM對象
        • EWM對象産生指數權重視窗
          pandas進行數學計算和資料處理
  • 數學聚合和分組運算
    • 拆分
      • 和所選軸長度相同的數組(可為list,numpy的array或series對象)
        list=['a','b']
        df.groupby(list)
                   
      • DataFrame某個列名的值或者列名的list
        df.groupby('a')
        df.groupby(df['a'])
        # 以上兩個表達式等價,df.groupby('a')是df.groupby(df['a'])的簡便形式
        df.groupby(df.loc['one'],axis=1)
                   
      • 參數為axis的标簽的函數
        def get_index_number(index):
        	if index in ['one','two']:
        		return 'small'
        	else:
        		return 'big'
        df.groupby(get_index_number,axis=1)
        # axis=1對列進行操作,axis=0對行進行操作
                   
      • 字典或者series,給出axis上的值與分組名之間的對應關系
        group_list=['one','two','one','two','two']
        group_series=pd.Series(group_list,index=df.index)
        df.groupby(group_series)
                   
      • GroupBy對象
        • count 函數
          • 每個組中非NA值的數量
        • sum/prod 函數
          • 每個組中非NA值的和/積
        • mean 函數
          • 每個組中非NA值的平均值
        • median 函數
          • 每個組中非NA值的中位數
        • std/var 函數
          • 每個組中無偏估計的标準差/方差
        • min/max 函數
          • 每個組中非NA值的最小值/最大值
        • first/last 函數
          • 每個組中第一個和最後一個非NA值
        • quantile 函數
          • 每個組的樣本分位數
        • describe 函數
          • 描述組内資料的基本統計量
        • size 函數
          • 計算每個組的規模
        • head 函數
          • 擷取每個組的前n行
        • fillna 函數
          • 填充每個組中為空的值
          pandas進行數學計算和資料處理
        • agg() 函數
          • 可使用自定義函數進行聚合操作
            pandas進行數學計算和資料處理
        • transform() 函數
          • 将一個函數(也可為自定義函數)應用到所有的分組中,傳回結果和原資料長度相同,同一個組的成員可以得到相同的值
            pandas進行數學計算和資料處理
        • apply() 函數
          • 将資料對象分為多個組,對每個組調用傳入的參數,最後進行組合
            pandas進行數學計算和資料處理

繼續閱讀