pandas數據合併之軸向連接pd.concat函數參數設定代碼示例(數據酷客學習總結)

pd.concat([df1,df2])

參數axis=0:縱向連接 axis=1:橫向連接
默認axis=0,即上下連接

常用參數介紹
在這裏插入圖片描述

參數設定代碼示例:

import pandas as pd

df1=pd.DataFrame({'姓名':['q','w'],'年齡':['18','19']},index=[0,1])

df2=pd.DataFrame({'姓名':['e','r'],'年齡':['20','21']},index=[2,3])

print(df1)

print(df2)

  姓名  年齡
0  q  18
1  w  19
  姓名  年齡
2  e  20
3  r  21

# 默認參數axis=0,縱向連接

pd.concat([df1,df2])

	姓名 	年齡
0 	q 	18
1 	w 	19
2 	e 	20
3 	r 	21

df3=pd.DataFrame({'年齡':['18','19'],'籍貫':['湖北','湖南']},index=['q','w'])

df4=pd.DataFrame({'身高':['175','180'],'體重':['55','60']},index=['q','w'])

print(df3)

print(df4)

   年齡  籍貫
q  18  湖北
w  19  湖南
    身高  體重
q  175  55
w  180  60

# 橫向連接

pd.concat([df3,df4],axis=1)

	年齡 	籍貫 	身高 	體重
q 	18 	湖北 	175 	55
w 	19 	湖南 	180 	60

# 將連接後的列名轉換爲1,2....n-1序列

pd.concat([df3,df4],axis=1,ignore_index=True)

	0 	1 	2 	3
q 	18 	湖北 	175 	55
w 	19 	湖南 	180 	60

# keys可構建層次化索引,在結果中將參與連接的片段區分開來

pd.concat([df3,df4],axis=1,keys=['df3','df4'])

	df3 	df4
	年齡 	籍貫 	身高 	體重
q 	18 	湖北 	175 	55
w 	19 	湖南 	180 	60

df5 = pd.DataFrame({'身高':['175','185'],'體重':['55','65']},index=['q','t'])

df5

	身高 	體重
q 	175 	55
t 	185 	65

# 默認並集處理join='outer'
pd.concat([df3,df5],axis=1)

 	年齡 	籍貫 	身高 	體重
q 	18 	湖北 	175 	55
t 	NaN 	NaN 	185 	65
w 	19 	湖南 	NaN 	NaN

# 設置join='inner'則取交集

pd.concat([df3,df5],axis=1,join='inner')

	年齡 	籍貫 	身高 	體重
q 	18 	湖北 	175 	55

# 若只想重用原始DataFrame中的索引,則可以向join_ axes傳入一個索引對象列表

pd.concat([df3,df5],axis=1,join_axes=[df3.index])

	年齡 	籍貫 	身高 	體重
q 	18 	湖北 	175 	55
w 	19 	湖南 	NaN 	NaN

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章