发布时间:2022-09-02 04:00
使用contact,append,merge完成数据集合并
自己学习用,欢迎大佬指正。
pd.concat()可以合并series和DataFrame对象,默认情况为逐行合并,且保留索引
pd.concat([df1,df2])#纵向合并
pd.concat([df1,df2],axis=1)#横向合并
由于concat在合并是会保留索引,即使索引重复
ser1 = pd.Series(['A', 'B', 'C'], index=[1, 2, 3])
ser2 = pd.Series(['D', 'E', 'F'], index=[1, 2, 3])
pd.concat([ser1,ser2])
pd.concat([ser1,ser2],ignore_index=True)
有时候我们想要简单地合并两张具有同样行数的表格,不想管索引和顺序,但是由于concat合并时会保留索引,所以合并时出现不想要的NAN值。这里有一个暴力的方法:
df2.index=df1.index ##重置表格2的索引
pd.concat([df1,df2],axis=1)
可以使用join的方法来进行两个数据集的交集或者并集合并,join=‘outer’(并集),join=‘inner’(交集)
df1=pd.DataFrame({"A":[1,2,3],"B":[2,3,4],"C":[3,4,5]})
df2=pd.DataFrame({"B":[2,3,4],"C":[3,4,5],"d":[3,4,6]})
>>
df1: df2:
A B C B C D
1 2 3 2 3 4
2 3 4 3 4 5
3 4 5 4 5 6
使用交集合并df1和df2
innerdf = pd.concat([df1,df2],join="inner")###可以看到A和D列已经没有了
B C
0 2 3
1 3 4
2 4 5
0 2 3
1 3 4
2 4 5
使用并集合并df1和df2:
pd.concat([df1,df2],join="outer",axis=1)
A B C B C d
0 1 2 3 2 3 3
1 2 3 4 3 4 4
2 3 4 5 4 5 6
df1.appende(df2)
merge的方法类似于SQL语言中的merge,可以一对一链接,也能一对多链接,一对多链接时,会保留重复值。merge还会默认将输入的共同列作为键合并。
基本的语法为: pd.merge(df1,df2)
df1=pd.DataFrame({"A":[1,1],"B":[1,3]})
df2=pd.DataFrame({"A":1,"C":2})
pd.merge(df1,df2)#将df2重复之后再合并
>>
A B C
0 1 1 2
1 1 3 2
……未完
CAP:多重注意力机制,有趣的细粒度分类方案 | AAAI 2021
IDEA 2022专业版创建Java Web项目(保姆式小白讲义,强烈建议入手!)
uniapp 微信小程序/字节小程序 商城下单页面列表【待付款、待发货、待收货、已完成】静态页面布局展示
02从零开始学习微服务之使用Spring Cloud配置服务
python神经网络库识别验证码_基于TensorFlow 使用卷积神经网络识别字符型图片验证码...
【MOCO基础】Pointer Networks原理及代码实现分析(Oriol Vinyals, 2015)