Numpy和Pandas速成

一、Numpy的使用

  1. 數組的屬性
    arr=np.array([[1,2,3],[2,3,4]],dtype=np.float32)
    注:dtype默認是float64
    print(arr.ndim)
    print(arr.shape)
    print(arr.size)
    np.sum(a,axis=…)
    np.max(a,axis=…)
    np.min(a,axis=…)
    np.argmin(a)#返回最小值索引
    np.argmax(a)
    np.mean(a)
    np.cumsum(a)#累加
    np.diff(a)#累差
    np.nonzero(a)#返回不是零的索引
    np.transpose(a)#轉置
    np.clip(a,5,9)#a中大於9的數變成9 小於5的數變成5

  2. 定義數組的方法
    np.zeros((3,4))
    np.ones((3,4))
    np.empty((3,4))
    np.arange(10,20,2)
    np.linspace(1,10,20)
    np.random.random((2,4))

  3. 矩陣運算
    np,sin(a)
    np.dot(a,b)
    a.dot(b)

  4. 矩陣合併
    np.vstack(a,b)
    np.hstack(a,b)
    np.concatenate((A,B,B,A),axis=1)
    注:a[np.newaxis,:]序列變矩陣

  5. 矩陣分割
    np.split(a,分割的塊數,axis=…)
    np.array_split(同上)不等的分割
    np.hsplit(a,分割的塊數)
    np.vsplit(a,分割的塊數)

  6. 矩陣複製
    a.copy()深拷貝
    等號兩變量賦值是淺拷貝

二、Pandas的使用

  1. 屬性
    df.T
    df.values
    df.columns
    df.index
    df.describe()
    df.sort_value(by=‘E’)
    df.sort_index(axis=0,ascending=False)
  2. 創建
    pd.Series([1,2,3,41])
    pd.date_range(‘20160101’,periods=6)
    pd.DateFrame(np.random.randn(6,4),index=a,columns=[‘a’,‘b’,‘c’])#生成有行列索引的表格
  3. 篩選
    df.iloc#按索引取值
    df.loc#按標籤取值
    df.ix#混合篩選
    df.A[df.A>8]#布爾篩選
  4. 處理缺失數據
    df.dropna(axis=0,how=‘all’)
    df.fillna(value=0)
    np.any(df.isnull()==True)
  5. 讀取
    pd.read_csv(‘文件名’)
  6. 合併
  • concat
  1. pd.concat([df1,df2,df3],axis=0,ignore_index=True,join=‘inner’)#上下合併 默認outer
  2. pd.concat([df1,df2,df3],axis=0,ignore_index=True,join_index=[df1.index])#左右合併
  • merge
  1. pd.merge(left,right,on=[‘key’],how=’'right)
    how可以取left、right、outer、inner
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章