concat函数合并DataFrame与Series、添加列操作
2020-06-28
111赞
python中国网
每篇文章努力于解决一个问题!python高级、python面试全套、操作系统经典课等可移步文章底部。
pandas.concat()函数可以合并多个df也可以合并df与Series,主要掌握5个参数:
objs:列表,每个元素是Series或者df
axis:左右还是上下合并,axis=0为上下合并
join:对齐方式inner、outer。默认是outer
sort:version 0.23.0.版本新增的,一般设为False。对齐方式inner会忽略改参数,
ignore_index:是否忽略掉原来的索引
我们用一些小案例来学习下concat函数。
1、默认上下合并,对齐方式为outer,不忽略原来的索引
# -*- coding: utf-8 -*- import pandas as pd dict1 = {'城市':['北','上','广','深'],'面积':[100,150,200,300],'天气':['差','中','优','好']} dict2 = {'城市':['北','上','广','深'],'面积':[100,150,200,300],'人口':['多','多','多','多']} df1 = pd.DataFrame(dict1) df2 = pd.DataFrame(dict2) print(df1) print('-----------') print(df2) print('-----------') df = pd.concat([df1,df2],axis=0,sort=False) print(df)
城市 面积 天气 0 北 100 差 1 上 150 中 2 广 200 优 3 深 300 好 ----------- 城市 面积 人口 0 北 100 多 1 上 150 多 2 广 200 多 3 深 300 多 ----------- 城市 面积 天气 人口 0 北 100 差 NaN 1 上 150 中 NaN 2 广 200 优 NaN 3 深 300 好 NaN 0 北 100 NaN 多 1 上 150 NaN 多 2 广 200 NaN 多 3 深 300 NaN 多
2、上下合并,对齐方式为inner,不忽略原来的索引
# -*- coding: utf-8 -*- import pandas as pd dict1 = {'城市':['北','上','广','深'],'面积':[100,150,200,300],'天气':['差','中','优','好']} dict2 = {'城市':['北','上','广','深'],'面积':[100,150,200,300],'人口':['多','多','多','多']} df1 = pd.DataFrame(dict1) df2 = pd.DataFrame(dict2) print(df1) print('-----------') print(df2) print('-----------') df = pd.concat([df1,df2],axis=0,join='inner') print(df)
城市 面积 天气 0 北 100 差 1 上 150 中 2 广 200 优 3 深 300 好 ----------- 城市 面积 人口 0 北 100 多 1 上 150 多 2 广 200 多 3 深 300 多 ----------- 城市 面积 0 北 100 1 上 150 2 广 200 3 深 300 0 北 100 1 上 150 2 广 200 3 深 300
3、添加一列Series,对齐方式为outer,不忽略原来的索引
# -*- coding: utf-8 -*- import pandas as pd dict1 = {'城市':['北','上','广','深'],'面积':[100,150,200,300],'天气':['差','中','优','好']} df1 = pd.DataFrame(dict1) print(df1) print('-----------') s = pd.Series(['下','上','中','上'],name='风景') df = pd.concat([df1,s],axis=1) print(df) print('-----注意看,索引顺序变了---') df = pd.concat([s,df1],axis=1) print(df)
城市 面积 天气 0 北 100 差 1 上 150 中 2 广 200 优 3 深 300 好 ----------- 城市 面积 天气 风景 0 北 100 差 下 1 上 150 中 上 2 广 200 优 中 3 深 300 好 上 -----注意看,索引顺序变了--- 风景 城市 面积 天气 0 下 北 100 差 1 上 上 150 中 2 中 广 200 优 3 上 深 300 好
相关文章
文章评论
concat函数合并DataFrame与Series、添加列操作文章写得不错,值得赞赏