python pandas数据处理教程之合并与拼接

  • Post category:Python

下面是关于“Python Pandas数据处理教程之合并与拼接”的完整攻略。

1.背景介绍

Pandas是Python中常用的数据处理库之一,它包含了大量的数据操作和处理的函数,能够高效地完成数据清洗、整合和分析。在数据处理的过程中,我们经常需要将不同数据集进行合并和拼接,这时Pandas的DataFrame就能够派上用场了。

2.合并与拼接方法

Pandas提供了多种合并与拼接方法,以下针对常用的三种方法做详细介绍。

2.1 pd.concat合并数据

pd.concat方法可以沿着某个轴将多个DataFrame堆叠在一起并实现数据合并。

示例:

import pandas as pd

df1 = pd.DataFrame({"name": ["Tom", "Jerry", "Spike"], "age": [25, 18, 35]})
df2 = pd.DataFrame({"name": ["Harry", "Micky", "Lucy"], "age": [28, 23, 30]})
df3 = pd.DataFrame({"name": ["Bob", "Mary", "John"], "age": [21, 27, 33]})

result = pd.concat([df1, df2, df3])  # 沿着行(轴0)合并
print(result)

输出:

    name  age
0    Tom   25
1  Jerry   18
2  Spike   35
0  Harry   28
1  Micky   23
2   Lucy   30
0    Bob   21
1   Mary   27
2   John   33

2.2 pd.merge合并数据

pd.merge方法可以根据一个或多个键将不同的DataFrame进行合并,这需要让两个表中有相同的列。

示例:

import pandas as pd

df1 = pd.DataFrame({"name": ['Tom', 'Jerry', 'Spike', 'Harry'], "age": [25, 18, 35, 28]})
df2 = pd.DataFrame({"name": ['Harry', 'Micky', 'Lucy', 'Spike'], "gender": ['male', 'female', 'female', 'male']})

result = pd.merge(df1, df2, on="name")  # 根据name这一列进行合并
print(result)

输出:

    name  age gender
0  Spike   35   male
1  Harry   28   male

2.3 pd.join合并数据

pd.join方法将基于索引合并数据。例如,通过索引值合并两个数据集的列,这是一种方便的方法。

示例:

import pandas as pd

df1 = pd.DataFrame({"age": [25, 18, 35]}, index=["Tom", "Jerry", "Spike"])
df2 = pd.DataFrame({"gender": ['male', 'female', 'male']}, index=["Tom", "Jerry", "Spike"])

result = df1.join(df2)  # 基于索引合并
print(result)

输出:

       age  gender
Tom     25    male
Jerry   18  female
Spike   35    male

3.总结

Pandas提供的合并与拼接方法可以让我们灵活地处理多个数据集,能够快捷地进行数据整合和分析。掌握Pandas中的数据合并与拼接方法,对于日常的数据处理会大有裨益。