1.连接两个Series对象,且参数全为默认的情况下:
import pandas as pd import numpy as np s1=pd.Series([100,200,300],index=['a','b','c']) s2=pd.Series([500,600,700],index=['a','b','c']) print pd.concat([s1,s2])
E:\pycharm\workspace\venv\Scripts\python.exe E:/pycharm/workspace/20190508/pandas_concat_demo.py
a 100
b 200
c 300
a 500
b 600
c 700
dtype: int64
Process finished with exit code 0
2.连接两个DataFrame对象
import pandas as pd import numpy as np #s1=pd.Series([100,200,300],index=['a','b','c']) #s2=pd.Series([500,600,700],index=['a','b','c']) #print pd.concat([s1,s2]) df1=pd.DataFrame([[100,200,300],[110,120,130],[210,220,230]]) df2=pd.DataFrame([[10,20,30],[11,12,13],[21,22,23]]) print pd.concat([df1,df2])
E:\pycharm\workspace\venv\Scripts\python.exe E:/pycharm/workspace/20190508/pandas_concat_demo.py
0 1 2
0 100 200 300
1 110 120 130
2 210 220 230
0 10 20 30
1 11 12 13
2 21 22 23
Process finished with exit code 0
3.参数默认的情况下都是直接沿0轴追加的,而且上面的例子是结构一样的,如果结构不一样呢?
import pandas as pd import numpy as np s1=pd.Series([100,200,300],index=['a','b','c']) #s2=pd.Series([500,600,700],index=['a','b','c']) #print pd.concat([s1,s2]) df1=pd.DataFrame([[100,200,300],[110,120,130],[210,220,230]]) #df2=pd.DataFrame([[10,20,30],[11,12,13],[21,22,23]]) print pd.concat([df1,s1])
E:\pycharm\workspace\venv\Scripts\python.exe E:/pycharm/workspace/20190508/pandas_concat_demo.py
0 1 2
0 100 200.0 300.0
1 110 120.0 130.0
2 210 220.0 230.0
a 100 NaN NaN
b 200 NaN NaN
c 300 NaN NaN
Process finished with exit code 0
4.那如何让它按指定轴方向连接呢?设定参数axis=1即可让其沿1轴方向连接
import pandas as pd import numpy as np s1=pd.Series([100,200,300],index=['a','b','c']) #s2=pd.Series([500,600,700],index=['a','b','c']) #print pd.concat([s1,s2]) df1=pd.DataFrame([[100,200,300],[110,120,130],[210,220,230]]) #df2=pd.DataFrame([[10,20,30],[11,12,13],[21,22,23]]) print pd.concat([df1,s1],axis=1)
E:\pycharm\workspace\venv\Scripts\python.exe E:/pycharm/workspace/20190508/pandas_concat_demo.py
0 1 2 0
0 100.0 200.0 300.0 NaN
1 110.0 120.0 130.0 NaN
2 210.0 220.0 230.0 NaN
a NaN NaN NaN 100.0
b NaN NaN NaN 200.0
c NaN NaN NaN 300.0
Process finished with exit code 0