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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值