合并数据集:
创建一个能创建dataframe的函数
def make_data(cols,ind):
data={c:[strc(c)+str(i) for i in ind]
for c in cols}
return pd.DataFrame(data,ind)
make_data('ABC',range(3))
一维数组
ser1 = pd.Series(['a','b','c'],index=[1,2,3])
ser2 = pd.Series(['d','e','f'],index=[4,5,6])
pd.concat([ser1,ser2])
二维数组
df1 = make_data('ab',[1,2])
df2 = make_data('ab',[3,4])
pd.concat([df1,df2]) 默认逐行合并axis=0(上下合并)
pandas 在合并索引时会保留索引,即使是重复的
触发索引重复异常:
veriy_integrity参数可以触发索引重复异常
try:
pd.concat([x,y],verify_integrity=True)
except ValueError as e:
print('v')
忽略索引重复异常:
ignore_index可以实现忽略原先索引重新创建一个整数索引
当列名有相同也有不相同时
join,join_axes
join默认参数是outer 取两个数组的并集
inner指取两个数组的交集
append效果和concat相同
df1.append(df2)
重复列名 suffixes
df8 = pd.DataFrame({'name':['a','b','c'],'rank':[1,2,3]})
df9 = pd.DataFrame({'name':['a','b','c'],'rank':[4,5,6]})
pd.merge(df8,df9,on='name',suffixes=['_L','_R'])
merge效果和concat相同,on表示以name这一列为基础合并,suffixes表示将相同的两列区分