python的concat等多種用法詳解
更新時(shí)間:2018年11月28日 14:09:44 作者:在路上_2018
這篇文章主要為大家詳細(xì)介紹了python的concat等多種用法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
本文為大家分享了python的concat等多種用法,供大家參考,具體內(nèi)容如下
1、numpy中的concatenate()函數(shù):
>>> 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[]:數(shù)據(jù)的合并
# 1 ,merge,類似數(shù)據(jù)庫中的
# (1)內(nèi)連接,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
# 內(nèi)連接 ,交集
pd.merge(data1,data2,on=['b'])
# 左連接 注意:如果 on 有兩個條件,on = ['a','b']
# how = 'left','right','outer'
pd.merge(data1,data2,on='b',how='left')
# 2,append,相當(dāng)于R中的rbind
# ignore_index = True:這個時(shí)候 表示index重新記性排列,而且這種方法是復(fù)制一個樣本
data1.append(data2,ignore_index = True)
# 3,join
data2.columns=list('pown')
# 列名不能重疊:在這里的用法和R中rbind很像,但是join的用法還是相對麻煩的
result = data1.join(data2)
result
# 4,concat 這個方法能夠?qū)崿F(xiàn)上面所有的方法的效果
# concat函數(shù)是pandas底下的方法,可以把數(shù)據(jù)根據(jù)不同的軸進(jìn)行簡單的融合
# pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False,
# keys=None, levels=None, names=None, verify_integrity=False)
# 參數(shù)說明:
# objs:series,dataframe,或者panel構(gòu)成的序列l(wèi)ist
# axis:0 行,1列
# join:inner,outer
# a,相同字段表首尾巴相接
data1.columns = list('abcd')
data2.columns =list('abcd')
data3 = data2
# 為了更好的查看連接后的數(shù)據(jù)來源,添加一個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']]
# 在有些數(shù)據(jù)不存在的時(shí)候,會自動填充NAN
pd.concat([data1,data4])
# c:join:inner 交集,outer ,并集
pd.concat([data1,data4],join='inner')
# 在列名沒有一個相同的時(shí)候會報(bào)錯
# data4.index = list('mnp')
# pd.concat([data1,data4])
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- Python3 pandas.concat的用法說明
- python?pandas處理excel表格數(shù)據(jù)的常用方法總結(jié)
- python numpy中array與pandas的DataFrame轉(zhuǎn)換方式
- Python?pandas?DataFrame基礎(chǔ)運(yùn)算及空值填充詳解
- python中DataFrame數(shù)據(jù)合并merge()和concat()方法詳解
- 解決Python 異常TypeError: cannot concatenate ''str'' and ''int'' objects
- Python?Pandas的concat合并
相關(guān)文章
10分鐘用python搭建一個超好用的CMDB系統(tǒng)
這篇文章主要介紹了10分鐘用python搭建一個超好用的CMDB系統(tǒng),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
python 實(shí)現(xiàn)語音聊天機(jī)器人的示例代碼
這篇文章主要介紹了python 實(shí)現(xiàn)語音聊天機(jī)器人的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-12-12
利用python進(jìn)行矩陣運(yùn)算實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于如何利用python進(jìn)行矩陣運(yùn)算的相關(guān)資料,Numpy是Python編程語言中的一個核心庫,專門用于處理多維數(shù)據(jù)和矩陣運(yùn)算,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-12-12
Python?Matplotlib?marker?標(biāo)記詳解
這篇文章主要介紹了Python?Matplotlib?marker?標(biāo)記詳解,Matplotlib,風(fēng)格類似?Matlab?的基于?Python?的圖表繪圖系統(tǒng),詳細(xì)內(nèi)容需要的小伙伴可以參考一下2022-07-07
Python使用Beautiful Soup實(shí)現(xiàn)解析網(wǎng)頁
在這篇文章中,我們將介紹如何使用 Python 編寫一個簡單的網(wǎng)絡(luò)爬蟲,以獲取并解析網(wǎng)頁內(nèi)容。我們將使用 Beautiful Soup 庫,它是一個非常強(qiáng)大的庫,用于解析和操作 HTML 和 XML 文檔。讓我們開始吧2023-05-05

