numpy的學習筆記\pandas學習筆記

TensorPro發表於2018-03-18
1.numpy 的基礎是ndarray物件(N維陣列),資料型別由dtype(data-type)決定。注意:每個ndarray都有一個唯一確定的dtype型別。即使沒有顯示定義,它有預設的型別。
2。a = np.array([1,2,3])  a.shpe 檢視多維陣列的形狀   a.ndim 檢視陣列的維度 a.size檢視陣列的個數
3.要會建立陣列,一般到二維就可以啦。
4。關於dtype:每個array都有一個確定的dtype,若沒顯示定義dtype,則預設為列表或者元素序列中的資料型別  舉個帶宣告資料型別的例子:f = np.array([[1,2,3],[4,5,6]],dtype = complex)資料型別是複數。
5。自帶的陣列建立方法,
      np.zeros((3,3)) ----->建立了一個3*3的全零矩陣
      np.ones((3,3))------->建立了一個3*3的全1矩陣
np.arange(0,12,3)解釋,從0開始到11,間隔3,選擇一個數
np.random.random((3,3)) 建立一個3*3的隨機矩陣。
6。要知道reshape操作
7。numpy的數學運算,矩陣相乘,注意A*B是逐點運算,線代上的矩陣相乘是np.dot(A,B)
8。對陣列操作的通用函式 np.sqrt(a),np.log(a),np.sin(a)
9.索引,切片機制同Python中的列表差不多,具體含義可用到的時候自己查。
10。遍歷矩陣有兩種:
             一種是遍歷矩陣的行------》for row in A:
                                                            print(row)
          另外一種是遍歷矩陣的所有元素--------》for r in A.flat:
                                                                                 print(r)
                      注:A.flat 是把A矩陣展平
11。條件和布林陣列
       例如a = np.array([[1,2,3],[4,5,6]])
             a >3  輸出一個布林值的矩陣
           與a[a>3] 輸出滿足條件的陣列元素
12矩陣陣列連線
    A = np.ones((3,3))
    B = np.zeros((3,3))
      np.vstack((A,B))  ------> 效果是在A矩陣下面插入B矩陣,也就是書上說的垂直插入
     np.hstack((A,B)) ---------》效果是在A矩陣的右邊插入B矩陣,也就是書上說的水平插入
    還有一維陣列按列插入,按照行插入。。建議現用現查

13.有聚合就有拆分兩個函式:水平切分:np.hsplit(A,2)  把A分為兩部分
                                                垂直切分  np.vsplit(A,2) 把A垂直分為兩部分  試一下就知道效果
14 要知道numpy 的廣播機制------》一句話概括,就是自動補齊計算的維度不匹配問題
    numpy 的向量化操作 a * b
15 numpy的副本、檢視概念。。現用現查



pandas主要分兩大資料結構:Series 和DataFrame
一、Series物件
1。Series物件表示一維資料結構,但是多了一個Index列
例如: s = pd.Series([12,-4,5,7])
         0    12
         1     -4
         2     5
         3     7     注:左邊一列就是index
還可以自己指定index   s = pd.Series([12,-4,7,9],index = ['a','b','c','d'])
可以按照s.values 檢視s的資料
             s.index檢視s的索引
2。選擇內部元素 s[2]  也可以按index  s['b']
     為元素賦值   s[1] = 0  s['a'] = 0
用Numpy陣列或者其他Series物件定義新的Series物件
arr = np.array([1,2,3,4])
s = pd.Series(arr)
3.Series篩選元素
    s[s>8]
4.Series有數學運算
  s/2  等
然而用到numpy庫的函式必須指定出np   np.log(s)

5使用unique去重  使用isin 判斷所屬關係
6。NaN Not a number 非數值
    使用isnull 和notnull  函式來判斷
7。Series用作字典,index是字典的key 值是字典的value

相關文章