當前位置:
首頁 > 知識 > python的concat等用法

python的concat等用法

1,numpy中的concatenate()函數:

>>> a = np.array([[1, 2], [3, 4]])

>>> b = np.array([[5, 6]])

>>> np.concatenate((a, b), axis=0)

array([[1, 2],

[3, 4],

[5, 6]])

>>> np.concatenate((a, b.T), axis=1)

array([[1, 2, 5],

[3, 4, 6]])

2,pandas中的merge,concat,join

# In[]:數據的合併

# 1 ,merge,類似資料庫中的

# (1)內連接,pd.merge(a1, a2, on="key")

# (2)左連接,pd.merge(a1, a2, on="key", how="left")

# (3)右連接,pd.merge(a1, a2, on="key", how="right")

# (4)外連接, pd.merge(a1, a2, on="key", how="outer")

data1 = pd.DataFrame(

np.arange(0,16).reshape(4,4),

columns=list("abcd")

)

data1

data2 = [

[4,1,5,7],

[6,5,7,1],

[9,9,123,129],

[16,16,32,1]

]

data2 = pd.DataFrame(data2,columns = ["a","b","c","d"])

data2

# 內連接 ,交集

pd.merge(data1,data2,on=["b"])

# 左連接 注意:如果 on 有兩個條件,on = ["a","b"]

# how = "left","right","outer"

pd.merge(data1,data2,on="b",how="left")

# 2,append,相當於R中的rbind

# ignore_index = True:這個時候 表示index重新記性排列,而且這種方法是複製一個樣本

data1.append(data2,ignore_index = True)

# 3,join

data2.columns=list("pown")

# 列名不能重疊:在這裡的用法和R中rbind很像,但是join的用法還是相對麻煩的

result = data1.join(data2)

result

# 4,concat 這個方法能夠實現上面所有的方法的效果

# concat函數是pandas底下的方法,可以把數據根據不同的軸進行簡單的融合

# pd.concat(objs, axis=0, join="outer", join_axes=None, ignore_index=False,

# keys=None, levels=None, names=None, verify_integrity=False)

# 參數說明:

# objs:series,dataframe,或者panel構成的序列list

# axis:0 行,1列

# join:inner,outer

# a,相同欄位表首尾巴相接

data1.columns = list("abcd")

data2.columns =list("abcd")

data3 = data2

# 為了更好的查看連接後的數據來源,添加一個keys更好查看

pd.concat([data1,data2,data3],keys=["data1","data2","data3"])

# b ,列合併(也就是行對齊):axis = 1,

pd.concat([data1,data2,data3],axis = 1,keys = ["data1","data2","data3"])

data4 = data3[["a","b","c"]]

# 在有些數據不存在的時候,會自動填充NAN

pd.concat([data1,data4])

# c:join:inner 交集,outer ,並集

pd.concat([data1,data4],join="inner")

# 在列名沒有一個相同的時候會報錯

# data4.index = list("mnp")

# pd.concat([data1,data4])

python的concat等用法

打開今日頭條,查看更多精彩圖片

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

Spring源碼解析——Spring思想、設計模式總結

TAG:程序員小新人學習 |