1. append()
append方法用以在表尾中添加新的行,并返回追加后的数据对象,若追加的行中存在原数据没有的列,会新增一列,并用nan填充;若追加的行数据中缺少原数据某列,同样以nan填充.。
语法:
df.append(other, ignore_index=False, verify_integrity=False, sort=None)
- other:要追加的数据,可以是dataframe,series,字典,列表甚至是元素,但前后类型要一致。
- ignore_index:两个表的index是否有实际含义,默认为False,若ignore_index=True,表根据列名对齐合并,生成新的index。
- verify_integrity:默认为False,若为True,创建具有重复项的索引时引发ValueError。
- sort:默认为False,若为True如果’ self ‘和’ other ‘的列没有对齐,则对列进行排序。
官方文档:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.append.html?highlight=append#pandas.DataFrame.append
2. concat()
concat方法用以将两个或多个pandas对象根据轴(横向/纵向)进行拼接,concat函数是在pandas命名空间下的方法,因此需要通过pd.concat()的方式来引用。
语法:
pd.concat(‘objs’, ‘axis=0’, “join=‘outer’”, ‘join_axes=None’,
‘ignore_index=False’, ‘keys=None’, ‘levels=None’,
‘names=None’, ‘verify_integrity=False’, ‘sort=None’,
‘copy=True’)
常用参数:
- objs:要进行拼接的pandas对象,可用中括号[]将两个或多个对象括起来
- axis:指定对象按照那个轴进行拼接,默认为0(纵向拼接),1为横向横向拼接
- join:拼接的方式,inner为交集,outer为并集
- join_axes:index的列表,仅在横向合并时使用,指明要将数据合并入哪个原表的index。
- ignore_index:默认为False,如果设置为true,则无视表原来的轴标签,直接合并,合并后生成新的轴标签。
- keys:表标识的列表,用来区分合并的表来自哪里。
2.1 concat()示例
```python import pandas
df=pandas.DataFrame() df2=pandas.DataFrame()
df[‘id’]=[1,2,3,4] df[‘name’]=[‘zhang’,’chen’,’lee’,’wang’]
df2[‘id’]=[2,3,4,5] df2[‘name’]=[‘Shenzhen’,’Hongkong’,’NewYork’,’London’]
df3=pandas.concat([df,df2],axis=0,ignore_index=True) print(df3)
<a name="Jin7J"></a>
## 输出:
<a name="PCWnh"></a>
## [<br /><br />](https://blog.csdn.net/weixin_33631836/article/details/112129629)
[
](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.append.html?highlight=append#pandas.DataFrame.append)
官方文档:<br />[https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.concat.html?highlight=concat#pandas.concat](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.concat.html?highlight=concat#pandas.concat)
参考资料:[https://blog.csdn.net/weixin_33631836/article/details/112129629](https://blog.csdn.net/weixin_33631836/article/details/112129629)
<a name="AvA0V"></a>
# 多个DataFrame同时连接
```python
import pandas as pd
import numpy as np
data = pd.DataFrame({'a': [1, 2, 4, np.nan,7, 9],
'b': ['a', 'b', np.nan, np.nan, 'd', 'e'],
'c': [np.nan, 0, 4, np.nan, np.nan, 5],
'd': [np.nan, np.nan, np.nan, np.nan, np.nan, np.nan]})
data1 = pd.DataFrame({'a': [1, 2, 4, np.nan,7, 9],
'b': ['a', 'b', np.nan, np.nan, 'd', 'e'],
'c': [np.nan, 0, 4, np.nan, np.nan, 5],
'd': [np.nan, np.nan, np.nan, np.nan, np.nan, np.nan]})
data2 = pd.DataFrame({'a': [1, 2, 4, np.nan,7, 9],
'b': ['a', 'b', np.nan, np.nan, 'd', 'e'],
'c': [np.nan, 0, 4, np.nan, np.nan, 5],
'd': [np.nan, np.nan, np.nan, np.nan, np.nan, np.nan]})
pd.concat([data,data1,data2])