筆記 Data Processing Using Python 3(用Python玩轉數據第三章)

Data Processing Using Python 3

  1. 創建字典的三種方法:
    •  python
      aInfo = {'Wangdachui': 3000, 'Niuyun':2000, 'Linling':4500, 'Tianqi':8000}
      info = [('Wangdachui',3000), ('Niuyun',2000), ('Linling',4500), ('Tianqi',8000)]
      bInfo = dict(info)
    •  python
      cInfo=dict([['Wangdachui',3000], ['Niuyun',2000], ['Linling',4500], ['Tianqi',8000]])
    •  python
      #創建員工信息表時將所有員工工資默認值設定爲3000
      aDict = {}.fromkeys(('Wangdachui', 'Niuyun', 'Linling', 'Tianqi'),3000)
  2. 已經有姓名列表和工資表,如何生成字典類型的員工信息表:
    •  python
      names = ['Wangdachui', 'Niuyun', 'Linling', 'Tianqi']
      salaries = [3000, 2000, 4500, 8000]
      dict(zip(names,salaries))
  3. 字典的使用
    •  python
      aInfo['Niuyun']#鍵值查找
      aInfo['Niuyun']=9999#aInfo裏面的值存在的則是進行更新,不存在的則是進行添加
      'Mayun' in aInfo#成員判斷,返回的值是true or false
      del aInfo['Fuyun']#刪除字典成員
      len()#計算字典內建的長度
      hash()#計算字典內的進行不同的判斷
      aInfo.clear()
      copy()
      fromkeys()
      get()
      items()
      keys()
      pop()
      setdefault()
      update()
      values()
  4. 集合
    •  python
      set('XX')#可變集合
      frozenset('XX')#不可變集合


      重點記憶部分數學運算符合:其他部分與大部分其他語言的編碼一致
      數學符合 python
      屬於 in
      不屬於 not in
      集合內建函數
      面向所有集合 面向可變集合
      s.issubset(t) update(i)
      issuperset(t) intersection_update(t)
      union(t) difference_update(t)
      intersection(t) symmetric_difference_update(t)
      difference(t) add(obj)
      symmetric_difference(t) remove(obj)
      copy() discard(obj)
        pop();clear()
  5. 擴展庫SCIPY
    •  python
      #python原有數據結構的變化
      ndarray(N維數組)
      Series(變長字典)
      DataFrame(數據框)
      Numpy--強大的ndarray對象和ufunc函數,無縫對接數據庫
      scipy--基於Numpy的數據計算工具和圖像處理軟件
      Matplotlib--二維繪圖庫
      pandas--切片和讀寫多種文件格式功能
  6. NDArray 
    • 用list和tuple等數據結構表示數組
    • 一維數組 list = [1,2,3,4]
    • 二維數組 list = [[1,2,3],[4,5,6],[7,8,9]] 
      • array模塊
    • 通過array函數創建數組, array.array("B", range(5))
    • 提供append、 insert和read等方法 
      – 維度( dimensions)稱爲軸 
      ( axes),軸的個數稱爲秩( rank) 
      – 基本屬性 
      • ndarray.ndim(秩) 
      • ndarray.shape(維度) 
      • ndarray.size(元素總個數) 
      • ndarray.dtype(元素類型) 
      • ndarray.itemsize(元素字節大小) 
      常用函數例子
    dot 矩陣內積
    linalg.det 行列式
    linalg.inv 逆矩陣
    linalg.solve 多元一次方程組求根
    linalg.eig 求特徵值和特徵向量
    sum mean
    :----: :-----:
    std var
    min max
    argmin argmax
    cumsum cumprod
  7. SERIES 
    • 基本特徵
    • 類似一維數組的對象
    • 由數據和索引組成
  8. DATAFRAME 
    • 基本特徵
    • 一個表格型的數據結構
    • 含有一組有序的列(類似於index)
    • 大致可看成共享同一個index的Series集合
      •  python
        data = {'name': ['Wangdachui', 'Linling', 'Niuyun'], 'pay': [4000, 5000, 6000]}
        frame = pd.DataFrame(data)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章