concat相当于堆积,语法:
pandas.concat(objs,axis=0,join='outer',ignore_index=False)
objs:一个列表,内容可以是DataFrame或者Series,可以混合
join:合并的时候索引的方式,默认是outer,也可以inner
ignore_index:是否忽略掉原来的数据索引,产生一个新的index
append语法 : DataFrame.append(other,ignore_index=False)
append 只有按照行合并,没有按照列合并,相当于concat 按行的简写形式,也就把一个表放在另一个表的下面
other:单个DataFrame,Series,dit,hasattr者列表
import pandas as pd
import warnings
warnings.filterwarnings('ignore')
df1 = pd.DataFrame({'A':['A0','A1','A2','A3'],
'B':['B0','B1','B2','B3'],
'C':['C0','C1','C2','C3'],
'D':['D0','D1','D2','D3'],
'E':['E0','E1','E2','E3'],
})
df2 = pd.DataFrame({'A':['A4','A5','A6','A7'],
'B':['B4','B5','B6','B7'],
'C':['C4','C5','C6','C7'],
'D':['D4','D5','D6','D7'],
'F':['F4','F5','F6','F7'],
})
df1
| A | B | C | D | E |
---|
0 | A0 | B0 | C0 | D0 | E0 |
---|
1 | A1 | B1 | C1 | D1 | E1 |
---|
2 | A2 | B2 | C2 | D2 | E2 |
---|
3 | A3 | B3 | C3 | D3 | E3 |
---|
df2
| A | B | C | D | F |
---|
0 | A4 | B4 | C4 | D4 | F4 |
---|
1 | A5 | B5 | C5 | D5 | F5 |
---|
2 | A6 | B6 | C6 | D6 | F6 |
---|
3 | A7 | B7 | C7 | D7 | F7 |
---|
pd.concat([df1,df2])
| A | B | C | D | E | F |
---|
0 | A0 | B0 | C0 | D0 | E0 | NaN |
---|
1 | A1 | B1 | C1 | D1 | E1 | NaN |
---|
2 | A2 | B2 | C2 | D2 | E2 | NaN |
---|
3 | A3 | B3 | C3 | D3 | E3 | NaN |
---|
0 | A4 | B4 | C4 | D4 | NaN | F4 |
---|
1 | A5 | B5 | C5 | D5 | NaN | F5 |
---|
2 | A6 | B6 | C6 | D6 | NaN | F6 |
---|
3 | A7 | B7 | C7 | D7 | NaN | F7 |
---|
pd.concat([df1,df2],ignore_index=True)
| A | B | C | D | E | F |
---|
0 | A0 | B0 | C0 | D0 | E0 | NaN |
---|
1 | A1 | B1 | C1 | D1 | E1 | NaN |
---|
2 | A2 | B2 | C2 | D2 | E2 | NaN |
---|
3 | A3 | B3 | C3 | D3 | E3 | NaN |
---|
4 | A4 | B4 | C4 | D4 | NaN | F4 |
---|
5 | A5 | B5 | C5 | D5 | NaN | F5 |
---|
6 | A6 | B6 | C6 | D6 | NaN | F6 |
---|
7 | A7 | B7 | C7 | D7 | NaN | F7 |
---|
pd.concat([df1,df2],ignore_index=True,join='inner')
| A | B | C | D |
---|
0 | A0 | B0 | C0 | D0 |
---|
1 | A1 | B1 | C1 | D1 |
---|
2 | A2 | B2 | C2 | D2 |
---|
3 | A3 | B3 | C3 | D3 |
---|
4 | A4 | B4 | C4 | D4 |
---|
5 | A5 | B5 | C5 | D5 |
---|
6 | A6 | B6 | C6 | D6 |
---|
7 | A7 | B7 | C7 | D7 |
---|
s1 = pd.Series(list(range(4)),name = 'F')
pd.concat([df1,s1],axis = 1)
| A | B | C | D | E | F |
---|
0 | A0 | B0 | C0 | D0 | E0 | 0 |
---|
1 | A1 | B1 | C1 | D1 | E1 | 1 |
---|
2 | A2 | B2 | C2 | D2 | E2 | 2 |
---|
3 | A3 | B3 | C3 | D3 | E3 | 3 |
---|
s2 = df1.apply(lambda x:x['A']+'_GG',axis = 1)
s2
0 A0_GG
1 A1_GG
2 A2_GG
3 A3_GG
dtype: object
s2.name = 'G'
pd.concat([df1,s1,s2],axis=1)
| A | B | C | D | E | F | G |
---|
0 | A0 | B0 | C0 | D0 | E0 | 0 | A0_GG |
---|
1 | A1 | B1 | C1 | D1 | E1 | 1 | A1_GG |
---|
2 | A2 | B2 | C2 | D2 | E2 | 2 | A2_GG |
---|
3 | A3 | B3 | C3 | D3 | E3 | 3 | A3_GG |
---|
pd.concat([df1,s1,s2],axis=0)
| 0 | A | B | C | D | E |
---|
0 | NaN | A0 | B0 | C0 | D0 | E0 |
---|
1 | NaN | A1 | B1 | C1 | D1 | E1 |
---|
2 | NaN | A2 | B2 | C2 | D2 | E2 |
---|
3 | NaN | A3 | B3 | C3 | D3 | E3 |
---|
0 | 0 | NaN | NaN | NaN | NaN | NaN |
---|
1 | 1 | NaN | NaN | NaN | NaN | NaN |
---|
2 | 2 | NaN | NaN | NaN | NaN | NaN |
---|
3 | 3 | NaN | NaN | NaN | NaN | NaN |
---|
0 | A0_GG | NaN | NaN | NaN | NaN | NaN |
---|
1 | A1_GG | NaN | NaN | NaN | NaN | NaN |
---|
2 | A2_GG | NaN | NaN | NaN | NaN | NaN |
---|
3 | A3_GG | NaN | NaN | NaN | NaN | NaN |
---|
pd.concat([s1,s2],axis=1)
| F | G |
---|
0 | 0 | A0_GG |
---|
1 | 1 | A1_GG |
---|
2 | 2 | A2_GG |
---|
3 | 3 | A3_GG |
---|
pd.concat([s1,df1,s2],axis=1)
| F | A | B | C | D | E | G |
---|
0 | 0 | A0 | B0 | C0 | D0 | E0 | A0_GG |
---|
1 | 1 | A1 | B1 | C1 | D1 | E1 | A1_GG |
---|
2 | 2 | A2 | B2 | C2 | D2 | E2 | A2_GG |
---|
3 | 3 | A3 | B3 | C3 | D3 | E3 | A3_GG |
---|
df001 = pd.DataFrame([[1,2],[3,4]],columns = list('AB'))
df002 = pd.DataFrame([[5,6],[7,8]],columns = list('AB'))
df001
df002
df001.append(df002)
df003 = pd.DataFrame([[9,10],[11,12]],columns = list('CD'))
df003
df001.append(df003)
| A | B | C | D |
---|
0 | 1.0 | 2.0 | NaN | NaN |
---|
1 | 3.0 | 4.0 | NaN | NaN |
---|
0 | NaN | NaN | 9.0 | 10.0 |
---|
1 | NaN | NaN | 11.0 | 12.0 |
---|
df = pd.DataFrame(columns=['A'])
df
for i in range(5):
df = df.append({'A':i},ignore_index=True)
df