numpy和pandas 各種比較常見的用法總結

2022-05-10 01:46:36 字數 2434 閱讀 4190

經常會遇到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 ...