pandas庫的學習記錄(一)

2021-10-06 14:04:06 字數 2606 閱讀 1904

通過乙個或多個鍵將行鏈結起來的。

)引數解釋如下:

注:以下引數,個人還沒有用過,抄自《利用python進行資料分析(第二版)》

(1)基礎例項

import pandas as pd

left = pd.dataframe(

)right = pd.dataframe(

)result = pd.merge(left, right, on=

'key'

)print

(result)

out:

key a b c d

0 k0 a0 b0 c0 d0

1 k1 a1 b1 c1 d1

2 k2 a2 b2 c2 d2

(2)傳入引數how='left』

left = pd.dataframe(

)# 這裡的left將key列的k3換成k4,即left和right的key列的有不匹配的地方。

right = pd.dataframe(

)result = pd.merge(left, right, on=

'key'

, how=

'left'

)print

(result)

out:

key a b c d

0 k0 a0 b0 c0 d0

1 k1 a1 b1 c1 d1

2 k2 a2 b2 c2 d2

3 k4 a3 b3 nan nan

# 拼接後的key列有k4而沒有k3,且'c','d'兩列為nan

(3)dataframe和series的合併

left = pd.dataframe(

)right = pd.series([0

,1,2

,3], index=

['k0'

,'k1'

,'k2'

,'k3'

], name=

'c')

# 一定要對series命名,不然會報錯

# 如果是給定好的series,可以使用right.name = 'c'

result = left.merge(right, left_on=

'key'

, right_index=

true

)print

(result)

out:

key a b c

0 k0 a0 b0 0

1 k1 a1 b1 1

2 k2 a2 b2 2

3 k3 a3 b3 3

這種合併方法,將完整的保留資料(不會丟棄資料,而是根據 index 和 columns 增加行列),並可指定合併的軸。

pd.concat(objs,

# 要合併物件

axis=0,

# 選擇合併軸

join=

'outer'

,# 連線方式,預設並集

join_axes=

none

, ignore_index=

false

, keys=

none

, levels=

none

, names=

none

, verify_integrity=

false

, copy=

true

)

axis=0是按照列的方式合併,可以看到三塊區域「自上至下」進行了合併,但是此時如果有相同的column就會合併在一起

axis=1是按照行的方式合併,可以看到三塊區域「自左至右」進行了合併,但是此時如果有相同的index就會合併在一起

未完待續……

pandas庫學習記錄 一)

pandas庫是乙個基於numpy庫的乙個開源python庫,用於快速分析,清洗和準備資料。pandas中的主要兩種資料型別 序列series 類似於一維陣列,可以用numpy中針對一維陣列的函式,也可以用標籤來進行索引,可自動對齊 資料框dataframe 多用於二維陣列,也可以用numpy中二維...

pandas庫學習記錄

在接觸了一點python的資料分析後,發現有乙個眾人很推崇的pandas庫。據說,與numpy結合能夠實現許多強大的使資料分析功能。但其實在接觸一段時間之後,我發現,還是很難掌握這個庫的精髓。為了避免長時間遺忘,我把這一系列實踐記錄下來。引用 import pandas 一般都寫作 import p...

pandas學習記錄

1.模組匯入 import pandas as pd 2.pandas序列series自動給列表加上索引 如 a 1,2,3,4 b pd.series a c enumerate a print b 類似於 for i,j in c print i,j 3.numpy 只是純碎的生成矩陣陣列,而 ...