数据合并concat函数
import pandas as pd
import numpy as np
df1 = pd.DataFrame(data=np.ones((5,6))*1,columns=["a","b","c","d","e","f"],index=[0,1,2,3,4])
df2 = pd.DataFrame(data=np.ones((5,6))*2,columns=["e","f","g","h","j","k"],index=[2,3,4,5,6])
print(df1)
print(df2)
a b c d e f
0 1.0 1.0 1.0 1.0 1.0 1.0
1 1.0 1.0 1.0 1.0 1.0 1.0
2 1.0 1.0 1.0 1.0 1.0 1.0
3 1.0 1.0 1.0 1.0 1.0 1.0
4 1.0 1.0 1.0 1.0 1.0 1.0
e f g h j k
2 2.0 2.0 2.0 2.0 2.0 2.0
3 2.0 2.0 2.0 2.0 2.0 2.0
4 2.0 2.0 2.0 2.0 2.0 2.0
5 2.0 2.0 2.0 2.0 2.0 2.0
6 2.0 2.0 2.0 2.0 2.0 2.0
- 进行竖直方向的合并 并且使用的合并方式是outer
print(pd.concat(objs=[df1,df2],axis=0,join="outer"))
a b c d e f g h j k
0 1.0 1.0 1.0 1.0 1.0 1.0 NaN NaN NaN NaN
1 1.0 1.0 1.0 1.0 1.0 1.0 NaN NaN NaN NaN
2 1.0 1.0 1.0 1.0 1.0 1.0 NaN NaN NaN NaN
3 1.0 1.0 1.0 1.0 1.0 1.0 NaN NaN NaN NaN
4 1.0 1.0 1.0 1.0 1.0 1.0 NaN NaN NaN NaN
2 NaN NaN NaN NaN 2.0 2.0 2.0 2.0 2.0 2.0
3 NaN NaN NaN NaN 2.0 2.0 2.0 2.0 2.0 2.0
4 NaN NaN NaN NaN 2.0 2.0 2.0 2.0 2.0 2.0
5 NaN NaN NaN NaN 2.0 2.0 2.0 2.0 2.0 2.0
6 NaN NaN NaN NaN 2.0 2.0 2.0 2.0 2.0 2.0
- 进行水平方向的合并 并且使用的合并方式是outer
print(pd.concat(objs=[df1,df2],axis=1,join="outer"))
a b c d e f e f g h j k
0 1.0 1.0 1.0 1.0 1.0 1.0 NaN NaN NaN NaN NaN NaN
1 1.0 1.0 1.0 1.0 1.0 1.0 NaN NaN NaN NaN NaN NaN
2 1.0 1.0 1.0 1.0 1.0 1.0 2.0 2.0 2.0 2.0 2.0 2.0
3 1.0 1.0 1.0 1.0 1.0 1.0 2.0 2.0 2.0 2.0 2.0 2.0
4 1.0 1.0 1.0 1.0 1.0 1.0 2.0 2.0 2.0 2.0 2.0 2.0
5 NaN NaN NaN NaN NaN NaN 2.0 2.0 2.0 2.0 2.0 2.0
6 NaN NaN NaN NaN NaN NaN 2.0 2.0 2.0 2.0 2.0 2.0
- 进行竖直方向的合并 并且使用的合并方式是inner
print(pd.concat(objs=[df1,df2],axis=0,join="inner"))
e f
0 1.0 1.0
1 1.0 1.0
2 1.0 1.0
3 1.0 1.0
4 1.0 1.0
2 2.0 2.0
3 2.0 2.0
4 2.0 2.0
5 2.0 2.0
6 2.0 2.0
- 进行水平方向的合并 并且使用的合并方式是inner
print(pd.concat(objs=[df1,df2],axis=1,join="inner"))
a b c d e f e f g h j k
2 1.0 1.0 1.0 1.0 1.0 1.0 2.0 2.0 2.0 2.0 2.0 2.0
3 1.0 1.0 1.0 1.0 1.0 1.0 2.0 2.0 2.0 2.0 2.0 2.0
4 1.0 1.0 1.0 1.0 1.0 1.0 2.0 2.0 2.0 2.0 2.0 2.0
print(pd.concat(objs=[df1,df2],join_axes=[df1.index],axis=1))
a b c d e f e f g h j k
0 1.0 1.0 1.0 1.0 1.0 1.0 NaN NaN NaN NaN NaN NaN
1 1.0 1.0 1.0 1.0 1.0 1.0 NaN NaN NaN NaN NaN NaN
2 1.0 1.0 1.0 1.0 1.0 1.0 2.0 2.0 2.0 2.0 2.0 2.0
3 1.0 1.0 1.0 1.0 1.0 1.0 2.0 2.0 2.0 2.0 2.0 2.0
4 1.0 1.0 1.0 1.0 1.0 1.0 2.0 2.0 2.0 2.0 2.0 2.0
print(pd.concat(objs=[df1,df2],axis=0,join_axes=[df1.columns]))
a b c d e f
0 1.0 1.0 1.0 1.0 1.0 1.0
1 1.0 1.0 1.0 1.0 1.0 1.0
2 1.0 1.0 1.0 1.0 1.0 1.0
3 1.0 1.0 1.0 1.0 1.0 1.0
4 1.0 1.0 1.0 1.0 1.0 1.0
2 NaN NaN NaN NaN 2.0 2.0
3 NaN NaN NaN NaN 2.0 2.0
4 NaN NaN NaN NaN 2.0 2.0
5 NaN NaN NaN NaN 2.0 2.0
6 NaN NaN NaN NaN 2.0 2.0
print(df1.append(df2,ignore_index=True))
a b c d e f g h j k
0 1.0 1.0 1.0 1.0 1.0 1.0 NaN NaN NaN NaN
1 1.0 1.0 1.0 1.0 1.0 1.0 NaN NaN NaN NaN
2 1.0 1.0 1.0 1.0 1.0 1.0 NaN NaN NaN NaN
3 1.0 1.0 1.0 1.0 1.0 1.0 NaN NaN NaN NaN
4 1.0 1.0 1.0 1.0 1.0 1.0 NaN NaN NaN NaN
2 NaN NaN NaN NaN 2.0 2.0 2.0 2.0 2.0 2.0
3 NaN NaN NaN NaN 2.0 2.0 2.0 2.0 2.0 2.0
4 NaN NaN NaN NaN 2.0 2.0 2.0 2.0 2.0 2.0
5 NaN NaN NaN NaN 2.0 2.0 2.0 2.0 2.0 2.0
6 NaN NaN NaN NaN 2.0 2.0 2.0 2.0 2.0 2.0
s1 = pd.Series(data=np.arange(6),index=["a","b","c","d","e","f"])
print(df1.append(s1,ignore_index=True))
a b c d e f
0 1.0 1.0 1.0 1.0 1.0 1.0
1 1.0 1.0 1.0 1.0 1.0 1.0
2 1.0 1.0 1.0 1.0 1.0 1.0
3 1.0 1.0 1.0 1.0 1.0 1.0
4 1.0 1.0 1.0 1.0 1.0 1.0
5 0.0 1.0 2.0 3.0 4.0 5.0