深入了解 Pandas:对象的变形2

目录

前言

第一步:二维对象的变形

第二步:二维对象的合并

总结


前言

在数据处理和分析中,合并不同数据源的内容是一项常见的任务。本文将介绍如何使用Python中的Pandas库来合并不同结构的数据帧,实现行和列的合并操作。承接上篇文章,我们本篇文章写的是二维对象的变形

第一步:二维对象的变形

 创建二维数组
v1=[10,20,30]
v2=['女','男','男']
k1=['1号','2号','3号']
sr1=pd.Series(v1,index=k1)
sr2=pd.Series(v2,index=k1)
df=pd.DataFrame({'年龄':sr1,'性别':sr2})
print(df)
#     年龄 性别
# 1号  10  女
# 2号  20  男
# 3号  30  男

#加上列
df['牌照']=[1,2,3]
print(df)
#     年龄 性别  牌照
# 1号  10  女   1
# 2号  20  男   2
# 3号  30  男   3

# 加上行
df.loc['4号']=[40,'女',4]
print(df)
#     年龄 性别  牌照
# 1号  10  女   1
# 2号  20  男   2
# 3号  30  男   3
# 4号  40  女   4

第二步:二维对象的合并

# 二维对象的合并
v1=[[10,'女'],[20,'男'],[30,'男'],[40,'女']]
v2=[[1,'是'],[2,'否'],[3,'是'],[4,'否']]
v3=[[50,'男',5,'是'],[60,'女',6,'是']]
k1=['1号','2号','3号','4号']
k2=['1号','2号','3号','4号']
k3=['5号','6号']
c1=['年龄','性别']
c2=['牌照','通过']
c3=['年龄','性别','牌照','通过']
df1=pd.DataFrame(v1,index=k1,columns=c1)
df2=pd.DataFrame(v2,index=k2,columns=c2)
df3=pd.DataFrame(v3,index=k3,columns=c3)
print(df1,df2,df3)
#     年龄 性别
# 1号  10  女
# 2号  20  男
# 3号  30  男
# 4号  40  女
#      牌照 通过
# 1号   1  是
# 2号   2  否
# 3号   3  是
# 4号   4  否
#     年龄 性别  牌照 通过
# 5号  50  男   5  是
# 6号  60  女   6  是

#合并列对象
df=pd.concat([df1,df2],axis=1)
print(df)
#     年龄 性别  牌照 通过
# 1号  10  女   1  是
# 2号  20  男   2  否
# 3号  30  男   3  是
# 4号  40  女   4  否

#合并行对象
df=pd.concat([df,df3])
print(df)
#     年龄 性别  牌照 通过
# 1号  10  女   1  是
# 2号  20  男   2  否
# 3号  30  男   3  是
# 4号  40  女   4  否
# 5号  50  男   5  是
# 6号  60  女   6  是

总结

通过本文,我们学习了如何使用Pandas中的concat函数来合并具有不同列结构和索引的数据框。我们先进行了列合并,然后进行了行合并,最终得到了一个完整的数据框。这种操作对于整合多个数据源、进行数据分析和生成报告等工作都非常有用。掌握数据合并的技巧能够让数据处理过程更加高效和灵活。希望本文对您有所帮助,使您在实际工作中能够更好地应用Pandas进行数据处理和分析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值