1. append()

append方法用以在表尾中添加新的行,并返回追加后的数据对象,若追加的行中存在原数据没有的列,会新增一列,并用nan填充;若追加的行数据中缺少原数据某列,同样以nan填充.。
语法:

  1. 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()的方式来引用。
语法:

  1. pd.concat(‘objs’, axis=0’, join=‘outer’”, join_axes=None’,
  2. ignore_index=False’, keys=None’, levels=None’,
  3. names=None’, verify_integrity=False’, sort=None’,
  4. 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)

  1. <a name="Jin7J"></a>
  2. ## 输出:
  3. <a name="PCWnh"></a>
  4. ## ![image.png](https://cdn.nlark.com/yuque/0/2021/png/25549414/1640073678912-1efbf887-2cc1-4f16-b1bb-b8b8ea320cce.png#clientId=u1b7cc458-c09e-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=250&id=u7e5275f3&margin=%5Bobject%20Object%5D&name=image.png&originHeight=500&originWidth=1687&originalType=binary&ratio=1&rotation=0&showTitle=false&size=57834&status=done&style=none&taskId=u4f3425dd-c47d-4ee6-9fb5-a9df46856a4&title=&width=844)[<br /><br />](https://blog.csdn.net/weixin_33631836/article/details/112129629)
  5. [
  6. ](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.append.html?highlight=append#pandas.DataFrame.append)
  7. 官方文档:<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)
  8. 参考资料:[https://blog.csdn.net/weixin_33631836/article/details/112129629](https://blog.csdn.net/weixin_33631836/article/details/112129629)
  9. <a name="AvA0V"></a>
  10. # 多个DataFrame同时连接
  11. ```python
  12. import pandas as pd
  13. import numpy as np
  14. data = pd.DataFrame({'a': [1, 2, 4, np.nan,7, 9],
  15. 'b': ['a', 'b', np.nan, np.nan, 'd', 'e'],
  16. 'c': [np.nan, 0, 4, np.nan, np.nan, 5],
  17. 'd': [np.nan, np.nan, np.nan, np.nan, np.nan, np.nan]})
  18. data1 = pd.DataFrame({'a': [1, 2, 4, np.nan,7, 9],
  19. 'b': ['a', 'b', np.nan, np.nan, 'd', 'e'],
  20. 'c': [np.nan, 0, 4, np.nan, np.nan, 5],
  21. 'd': [np.nan, np.nan, np.nan, np.nan, np.nan, np.nan]})
  22. data2 = pd.DataFrame({'a': [1, 2, 4, np.nan,7, 9],
  23. 'b': ['a', 'b', np.nan, np.nan, 'd', 'e'],
  24. 'c': [np.nan, 0, 4, np.nan, np.nan, 5],
  25. 'd': [np.nan, np.nan, np.nan, np.nan, np.nan, np.nan]})
  26. pd.concat([data,data1,data2])

image.png