經常會遇到np.reshape(a,-1) 或者np.reshape(-1,a) 這樣的情況(a=1,2,3,4,5),-1是乙個比較神奇的功能,意思是我只要確定需要分成a行後者a列,剩下的資料你隨便分,反正結果都一樣。
例:arr =np.array([1,2,3,4,5,6,7,8,9,10,11,12])乙個一維的ndarry陣列,長度為9
如果我想把它變成3x3的矩陣,可以直接arr.reshape(3,4),也可以用以上方法arr.reshape(3,-1) 或者arr.reshape(-1,4) ,最終的結果都一樣
numpy.
zeros_like
(a,dtype=none, order='k', subok=true)
該行**會返回形狀和資料型別和a相同且元素都為0的陣列
3、array和asarray的區別
array和asarray都可以將結構資料轉化為ndarray,但是主要區別就是當資料來源是ndarray時,array仍然會copy出乙個副本,占用新的記憶體,但asarray不會,意思是對資料來源進行重新賦值的話,array轉化後的資料不變,asarray轉化後的資料也會跟著資料來源重新被賦值。
1、dataframe
取出dataframe的所有標籤名:
columns = data.columns
對dataframe中的缺失值進行統計:
null_counts = data.isnull().sum() # 統計所有有缺失值列的缺失值個數,要統計某一列直接進行指定即可,比如data['target'].isnull().sum()
去掉缺失值最多的列:
data= data.drop('target',axis=1) # 去掉缺失值最多的列,以target為例
去掉有缺失值的樣本:
data= data.dropna(axis=0) # 去掉有缺失值的樣本
對缺失值進行填充:
notnull_feature = data.fillna(np.mean(0)) # 這裡填充的是每一列的平均值,也可以直接填0
統計資料型別以及篩選:
dtypes = data.dtypes.value_counts()
object_columns = data.select_dtypes(include=['object']) #有字元型的資料會被選出來分析
轉換資料型別astype():
data = data.astype('float') #. type 獲取資料型別 ;dtype 獲取陣列元素的型別
將資料中的文字轉化為數字:
data = pd.get_dummies(data,dummy_na=true)
一般資料比較大的時候,我們可以先讀取第一行,觀察資料結構,或者直接列印前五行
data_0 = data.iloc[0] # 第一行
data_5 = data.head # 前五行
data_info = data.info() #顯示資料綜合資訊,個數、型別。。。
dataframe資料結構非常靈活,可以通過多種方法提取出自己想要的列或者想要的行:
data= data[(data['target']=='car') | (data['target']=='truck')] # 提取某一列下car和truck兩個分類,如果該列還有其他類別,該類別以及類別橫向對應的資料都會捨棄
去掉重複項:
data.drop_duplicates()
傳入字典,可以對某一列的類別進行替換:
status_replace =
}data= data.replace(status_replace) #將loan_status列的兩個屬性進行替換
橫向拼接:
data= pd.concat([loans, dummy_df], axis=1) # 橫向拼接
特徵列與標籤列進行分離:
feature = data.iloc[:,data.columns!='class']
labels = data.iloc[:,data.columns=='class']
2、series
如果要統計某一列的唯一值可以用unique(),只支援series資料型別因此使用的時候只能針對dataframe某一列:
unique = data['target'].unique()
dataframe資料結構可以看做是很多個series共用一列index,有個values_count()可以統計某列資料的類別分別是多少,只支援series資料型別因此使用的時候只能針對dataframe某一列:
values_count = data['target'].value_counts()
values_count .index #target的類別
values_count .values #target類別對應的個數
numpy和pandas中set option總結
import warnings import numpy as np import pandas as pd warnings.filterwarnings ignore 關閉執行時的警告 np.set printoptions linewidth 100,suppress true 列印numpy...
Numpy和Pandas的區別
首先來說說ndarray,numpy提供了乙個n維度的資料型別 ndarray 他描述了相同型別的items集合 1.ndarray中所有元素的型別都是相同的,而python列表中的元素型別是任意的,所以,ndarray在儲存元素的時候,記憶體可以連續。而python原生list就只通過定址法找到下...
python安裝numpy和pandas的方法步驟
最近要對一系列資料做同比比較,需要用到numpy和pandas來計算,不過使用python安裝numpy和pandas因為linux環境沒有外網遇到了很多問題就記下來了。首要條件,python版本必須是2.7以上。linux首先安裝依賴包 yum y install blas blas devel ...