python程式設計tips 01 資料拼接

2021-09-11 18:54:27 字數 1387 閱讀 8901

使用python進行資料處理,常免不了做資料拼接。可是因為常用的資料容器型別不少,有list,array,dataframe等,時不時搞混(根本原因是以前偷懶一直沒用心去記-_-』)。終於痛定思痛,決定好好整理記錄下來,並養成好習慣。。。

以下按照不同資料容器型別,整理出了可用的資料拼接方法。

dataframe提供的拼接功能要更為豐富一些。大抵可以概括為非條件拼接和條件拼接兩種(非條件拼接條件拼接是我為了便於理解記憶自己杜纂的,因此莫問出處)。

之所以叫它條件拼接,是因為它需要按某個指定的條件進行拼接,實現的效果很象sql的表關聯查詢。

條件拼接有merge和join,前者是pandas的方法,後者是dataframe的方法。

需要指定關聯的列,使用on指定。關聯列不只乙個列的,使用列表方式on=[colname1, colname2,…]。關聯的方式,和sql差不多,預設為inner,可選left,right,outer。

方法merge引數較多,更詳細的用,可到pandas官網檢視:

join也需要指定關聯的列。需要特別注意的一點是,其關聯的方式預設為left而不是inner,這一點有別於merge,需要特別注意。

方法join引數較多,更詳細的用法,可到pandas官網檢視:

numpy的陣列合併方法很多(其實感覺有點多過頭了……)。

stack用於矩陣堆疊,在參與堆疊的矩陣多於乙個時,堆疊結果將必然增加乙個維度。引數axis用於控制在哪兩個維度之間增加新維度。

vstack是沿著第乙個維度進行拼接,相當於concatenate取axis=0;hstack是沿著第二個維度進行拼接,相當於concatenate取axis=1;dstack是沿著第三個維度進行拼接,相當於concatenate取axis=2.

r_效果同vstack,c_效果則和hstack相同,但呼叫方法略有不同。r_和c_並不是函式的方法,因此不使用括號,而是使用方括號。

另外看到網上有人有人說r_和c_的效能和vstack等並不相同,但沒找到詳細說明,因此先mark著,以後再補充。

Python程式設計中的幾個tips

1.在大數字中使用下劃線,增強 可讀性 普通 num1 100000000000 num2 100000000 res num1 num2 print res 使用下劃線 適用於python3以上 num1 1000 0000 0000 num2 1 0000 0000 res num1 num2 ...

python 網路程式設計 01

我們常說的計算機網路通訊,值得是兩台,或者多台計算機間,進行資料傳輸。從計算機網路發展至今,人們使用了很多協議,但是最常用的還是tcp ip協議,實際上這是一組協議。當然使用python做網路程式設計的時候,我們通常都會在tcp ip協議上面程式設計。也就是我們不需要關心,tcp ip層真正傳輸層協...

python 併發程式設計 01多程序

思考 什麼是多程序?並行 統一時間點同時執行 併發 同一時間間隔裡同時執行 早期單核cpu的時候沒有並行的概念,只有併發的概念。多程序模組 一 利用multiprocessing包的process類開啟多程序程式示例如下 from multiprocessing import process imp...