concat()函数用法
当你需要把两个或多个 DataFrame(或 Series)合并成一个的时候,pd.concat()
函数就派上用场了。这个函数可以让你沿着行或列的方向将数据堆叠在一起。
举个例子,假设你有两个 DataFrame,一个包含了某个班级学生的成绩,另一个包含了同班级学生的考勤记录。你可以使用 pd.concat()
将这两个 DataFrame 沿着行的方向合并,以便得到一个包含了成绩和考勤记录的完整数据集。
基本用法如下:
import pandas as pd
# 假设 df1 和 df2 是两个 DataFrame
result = pd.concat([df1, df2])
这个例子中,pd.concat()
接收一个包含了你想要合并的 DataFrame 的列表作为参数,然后返回一个新的 DataFrame,其中包含了所有输入 DataFrame 的数据。默认情况下,合并是沿着行的方向进行的,也就是说会把数据堆叠在一起。
你也可以通过设置 axis
参数来改变合并的方向。例如,如果你想要把数据沿着列的方向合并,可以这样做
result = pd.concat([df1, df2], axis=1)
这样,df1
和 df2
中的列会在水平方向上被堆叠在一起,形成一个新的 DataFrame。
pd.concat()
还有许多其他参数,可以用来控制合并的方式,例如 ignore_index
参数可以忽略原始索引,生成新的整数索引,keys
参数可以创建层次化索引等等。这个函数非常灵活,可以满足各种合并需求。
它的基本语法如下:
pd.concat(objs, axis=0, join='outer',
ignore_index=False, keys=None, levels=None,
names=None, verify_integrity=False, sort=False, copy=True)
参数说明:
objs
:要连接的 Pandas 对象的序列(例如,DataFrame 或 Series)或者是一个字典。这是连接的主体部分。axis
:指定连接的轴。默认为 0,表示按行连接,如果设为 1,表示按列连接。join
:指定连接方式。可选值包择 'inner' 和 'outer',默认为 'outer'。'outer' 表示取连接对象的并集,'inner' 表示取连接对象的交集。ignore_index
:是否忽略索引。如果设为 True,将在连接时重新生成一个新的整数索引。默认为 False。keys
:用于在连接轴上创建层次化索引的值,可以是任意类型的可迭代对象,如列表、数组、Series、索引等。levels
、names
:当keys
参数被使用时,用于指定创建的多重索引的层次级别和名称。verify_integrity
:检查新连接的轴是否重复。如果设为 True,将检查连接的结果是否会导致重复索引。默认为 False。sort
:在连接轴上对索引进行排序。默认为 False。copy
:是否复制连接的对象。默认为 True,表示复制对象;如果设为 False,表示不复制对象,这将提高性能,但在某些情况下可能导致结果不稳定。
这些参数提供了灵活的方式来控制连接操作的行为,以满足不同情况下的需求。