DataFrame的级联与合并操作
级联操作:对于数据
- pd.concat,pd.append
pandas使用pd.concat函数,与np.concatenate函数类似,只是多了以下参数:
objs
axis=0
keys
join='outer' / 'inner':表示的是级联的方式,outer会将所有的项进行级联(忽略匹配和不匹配,而inner只会将匹配的项级联到一起,不匹配的不级联
ignore_index=False
匹配级联
df1 = DataFrame(data=np.random.randint(0, 100, size=(5, 3)), columns=['A', 'B', 'C'])
df2 = DataFrame(data=np.random.randint(0, 100, size=(5, 3)), columns=['A', 'D', 'C'])
pd.concat((df1, df2), axis=1) # 行索引相同,匹配级联行
//
A B C A D C
0 45 84 22 31 49 9
1 28 54 86 91 56 29
2 60 28 10 44 31 63
3 54 38 39 98 54 69
4 15 2 35 89 55 32
不匹配级联
- 不匹配是指级联维度的索引不一致,例如纵向级联时列索引不一致,横向级联时行索引不一致
- 两种连接方式:
- 外连接:补NaN(默认模式)
- 内连接:只连接匹配的项
注:如果想要保留数据的完整性必须使用outer(外连接)
df1 = DataFrame(data=np.random.randint(0, 100, size=(5, 3)), columns=['A', 'B', 'C'])
df2 = DataFrame(data=np.random.randint(0, 100, size=(5, 3</