
pandas.concat() 是 Pandas 库中用于连接(合并)两个或多个 Pandas 对象(如 DataFrame 或 Series)的功能强大的函数。下面详细介绍 concat() 函数的各个参数及其用法:
pandas.concat(objs, axis=0, join='outer', ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, sort=False, copy=True)
-
objs:要连接的对象列表,可以是 DataFrame、Series 或者这些对象的序列。这是唯一一个必需的参数。
-
axis:指定连接的轴。默认是
axis=0,表示在行方向上连接。如果axis=1,则在列方向上连接。 -
join:指定连接的方式。有两种主要的方式:
'outer':使用联合的列,缺失值用 NaN 填充。'inner':使用交集的列,丢弃非交集的行或列。
-
ignore_index:如果为 True,将忽略原始索引,并生成一个新的整数索引。
-
keys:用于创建层次化索引的标签数组。传递一个列表,用于创建层次化索引。如果传递了
keys,将创建 MultiIndex。 -
levels:指定用作层次化索引的各级标签。
-
names:指定用作层次化索引各级的名称。
-
verify_integrity:如果为 True,检查结果对象的新轴是否重复。如果发现重复,则引发异常。
-
sort:如果为 True,将在连接轴上对结果进行排序。默认为 False,这样可以更好地维护元素的顺序。
-
copy:如果为 False,避免复制对象数据。默认为 True,即复制数据。
下面用代码演示了如何使用 concat 函数的不同参数:
import pandas as pd
# 创建两个 DataFrame
df1 = pd.DataFrame({'A': ['A0', 'A1'], 'B': ['B0', 'B1']}, index=[0, 1])
df2 = pd.DataFrame({'A': ['A2', 'A3'], 'B': ['B2', 'B3']}, index=[2, 3])
# 在行方向上连接
result_default = pd.concat([df1, df2])
print("Default concatenation (axis=0):\n", result_default)
# 在列方向上连接
result_axis1 = pd.concat([df1, df2], axis=1)
print("\nConcatenation along columns (axis=1):\n", result_axis1)
# 使用 ignore_index
result_ignore_index = pd.concat([df1, df2], ignore_index=True)
print("\nConcatenation with ignore_index=True:\n", result_ignore_index)
# 使用 keys 创建 MultiIndex
result_keys = pd.concat([df1, df2], keys=['df1', 'df2'])
print("\nConcatenation with keys:\n", result_keys)
# 使用 verify_integrity
# 注意:这会引发 ValueError,因为连接后的索引有重复
# pd.concat([df1, df2], verify_integrity=True)
# 使用 sort
result_sort = pd.concat([df1, df2], sort=True)
print("\nConcatenation with sort=True:\n", result_sort)
这个示例演示了如何在不同情境下使用 concat 函数的参数。根据具体需求,你可以灵活地调整这些参数。
本文详细介绍了Pandas库中的concat()函数,包括其参数如objs、axis、join、ignore_index等的含义和用法,并通过示例展示了如何在不同场景下使用这些参数进行数据连接。
4630

被折叠的 条评论
为什么被折叠?



