Pandas数据合并: append/assign/combine/update/concat/merge/join方法详解及应用场景

在Pandas中,append/assign/combine/update/concat/merge/join都是用于合并或连接数据的方法,但它们适用于不同的场景。本文将详细介绍每种方法的适用场景,并辅以代码示例和输出结果,帮助您轻松理解和掌握Pandas数据合并技巧。

1. append方法

  • 适用场景: 将一个DataFrame或Series附加到另一个DataFrame的末尾,适用于在现有DataFrame中添加新的行数据。

  • **代码示例:**pythonimport pandas as pd

df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})df2 = pd.DataFrame({'A': [5, 6], 'B': [7, 8]})

df3 = df1.append(df2)print(df3)

  • 输出:

    A B0 1 31 2 40 5 71 6 8

2. assign方法

  • 适用场景: 向DataFrame添加新的列,适用于在现有DataFrame中添加新的列数据。

  • **代码示例:**pythonimport pandas as pd

df = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})

df = df.assign(C=[5, 6])print(df)

  • 输出:

    A B C0 1 3 51 2 4 6

3. combine方法

  • 适用场景: 根据两个DataFrame的值进行合并,适用于根据条件合并两个DataFrame的数据。

  • **代码示例:**pythonimport pandas as pdimport numpy as np

df1 = pd.DataFrame({'A': [1, 2], 'B': [3, np.nan]})df2 = pd.DataFrame({'A': [4, 5], 'B': [np.nan, 6]})

df3 = df1.combine(df2, np.maximum)print(df3)

  • 输出:

    A B0 4 3.01 5 6.0

4. update方法

  • 适用场景: 将一个DataFrame的值更新到另一个DataFrame,适用于将一个DataFrame的值更新到另一个DataFrame中相同位置的数据。

  • **代码示例:**pythonimport pandas as pd

df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})df2 = pd.DataFrame({'A': [5, 6], 'B': [7, 8]})

df1.update(df2)print(df1)

  • 输出:

    A B0 5 71 6 8

5. concat方法

  • 适用场景: 沿着指定的轴连接两个或多个DataFrame,适用于将多个DataFrame按照指定的轴进行连接。

  • **代码示例:**pythonimport pandas as pd

df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})df2 = pd.DataFrame({'C': [5, 6], 'D': [7, 8]})

df3 = pd.concat([df1, df2], axis=1)print(df3)

  • 输出:

    A B C D0 1 3 5 71 2 4 6 8

6. merge方法

  • 适用场景: 根据指定的列进行数据库风格的连接操作,适用于根据指定的列将两个DataFrame进行合并。

  • **代码示例:**pythonimport pandas as pd

df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4], 'key': ['K1', 'K2']})df2 = pd.DataFrame({'C': [5, 6], 'D': [7, 8], 'key': ['K1', 'K2']})

df3 = pd.merge(df1, df2, on='key')print(df3)

  • 输出:

    A B key C D0 1 3 K1 5 71 2 4 K2 6 8

7. join方法

  • 适用场景: 根据索引或列进行连接操作,适用于根据索引或列将两个DataFrame进行合并。

  • **代码示例:**pythonimport pandas as pd

df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]}, index=['K1', 'K2'])df2 = pd.DataFrame({'C': [5, 6], 'D': [7, 8]}, index=['K1', 'K2'])

df3 = df1.join(df2)print(df3)

  • 输出:

    A B C DK1 1 3 5 7K2 2 4 6 8

总结

append/assign/combine/update/concat/merge/join方法为Pandas提供了强大的数据合并功能,每种方法都有其独特的适用场景。 通过理解每种方法的特点,您可以根据实际需求选择最合适的方法,高效地处理和分析数据。

Pandas数据合并: append/assign/combine/update/concat/merge/join方法详解及应用场景

原文地址: http://www.cveoy.top/t/topic/e 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录