Pandas 教程-Pandas 连接操作
整理:python架构师
Pandas能够通过不同种类的集合逻辑和关系代数功能组合Series、DataFrame和Panel对象。
concat()函数负责在DataFrame中沿轴执行连接操作。
语法:
pd.concat(objs,axis=0,join='outer',join_axes=None,ignore_index=False)
参数:
objs: 它是一个序列或映射,包含Series或DataFrame对象。
如果在DataFrame中传递了一个字典,那么排序后的键将用作keys参数,并且将选择相应的值。如果存在任何非对象,那么它们将被丢弃,除非它们全部为none,在这种情况下,将引发ValueError。
axis: 沿着其进行连接的轴。
join: 处理另一个轴上的索引的方式。
join_axes: 索引对象的列表。使用特定索引,而不是执行内部或外部集合逻辑。
ignore_index: 布尔值,默认值为False。如果为True,则不使用连接轴上的索引值。结果轴将标记为0,...,n - 1。
返回值
在沿轴(axis=0)连接所有Series时,返回一个Series。如果*objs*包含至少一个DataFrame,则返回一个DataFrame。
import pandas as pda_data = pd.Series(['p', 'q'])b_data = pd.Series(['r', 's'])pd.concat([a_data, b_data])
0 p1 q0 r1 sdtype: object
import pandas as pda_data = pd.Series(['p', 'q'])b_data = pd.Series(['r', 's'])pd.concat([a_data, b_data], ignore_index=True)
0 p1 q2 r3 sdtype: object
专属福利 👉点击领取:最全Python资料合集
import pandas as pda_data = pd.Series(['p', 'q'])b_data = pd.Series(['r', 's'])pd.concat([a_data, b_data], keys=['a_data', 'b_data'])
a_data 0 p1 qb_data 0 r1 sdtype: object
import pandas as pda_data = pd.Series(['p', 'q'])b_data = pd.Series(['r', 's'])pd.concat([a_data, b_data], keys=['a_data', 'b_data'])pd.concat([a_data, b_data], keys=['a_data', 'b_data'],names=['Series name', 'Row ID'])
Series name Row IDa_data 0 p1 qb_data 0 r1 sdtype: object
使用append进行连接
append方法被定义为连接Series和DataFrame的有用快捷方式。
import pandas as pdone = pd.DataFrame({'Name': ['Parker', 'Smith', 'Allen', 'John', 'Parker'],'subject_id':['sub1','sub2','sub4','sub6','sub5'],'Marks_scored':[98,90,87,69,78]},index=[1,2,3,4,5])two = pd.DataFrame({'Name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'],'subject_id':['sub2','sub4','sub3','sub6','sub5'],'Marks_scored':[89,80,79,97,88]},index=[1,2,3,4,5])print (one.append(two))
Name subject_id Marks_scored1 Parker sub1 982 Smith sub2 903 Allen sub4 874 John sub6 695 Parker sub5 781 Billy sub2 892 Brian sub4 803 Bran sub3 794 Bryce sub6 975 Betty sub5 88
热门推荐