📜  没有索引重置的 concat dataFrame - Python (1)

📅  最后修改于: 2023-12-03 15:40:43.759000             🧑  作者: Mango

没有索引重置的 concat dataFrame - Python

在 pandas 中,使用 concat() 函数将两个或多个 dataFrame 合并到一起是非常常见的。然而,有时候在合并后的 dataFrame 中,我们不需要重新设置索引。本文将会介绍如何实现没有索引重置的 concat dataFrame。

示例数据

为了演示没有索引重置的 concat dataFrame,我们先创建两个 dataFrame,并通过 concat() 函数将它们合并到一个 dataFrame 中:

import pandas as pd

# 创建第一个 dataFrame
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
                    'B': ['B0', 'B1', 'B2', 'B3'],
                    'C': ['C0', 'C1', 'C2', 'C3'],
                    'D': ['D0', 'D1', 'D2', 'D3']})

# 创建第二个 dataFrame
df2 = pd.DataFrame({'A': ['A4', 'A5', 'A6', 'A7'],
                    'B': ['B4', 'B5', 'B6', 'B7'],
                    'C': ['C4', 'C5', 'C6', 'C7'],
                    'D': ['D4', 'D5', 'D6', 'D7']})

# 将两个 dataFrame 合并到一起
df = pd.concat([df1, df2], axis=0)

在以上代码中,我们创建了两个 dataFrame,df1 和 df2,它们分别包含 4 行和 4 行的数据。然后,我们使用 concat() 函数将这两个 dataFrame 在行方向上合并到了一起,并将结果保存到变量 df 中。此时,df 中的索引是从 0 到 7 的整数,是默认的重新索引结果。

如何实现没有索引重置的 concat dataFrame

如果不想在 concat 合并后的 dataFrame 中重新索引,可以使用 ignore_index 参数。通过将 ignore_index 参数设置为 True,我们可以避免在合并后的 dataFrame 中重置索引。修改以上代码如下:

# 将两个 dataFrame 合并到一起,不重新索引
df = pd.concat([df1, df2], ignore_index=True, axis=0)

当使用 ignore_index 参数时,重新索引会被忽略,直接将原始 dataFrame 中的索引复制到新合并的 dataFrame 中。因此,此时 df 中的索引是从 0 到 7 的整数,而非默认的 从 0 到 3 的整数。

结论

在 pandas 中,如果我们不想在合并后的 dataFrame 中对索引重新设置,我们可以使用 ignore_index 参数。将 ignore_index 参数设置为 True,可以避免在合并后的 dataFrame 中重置索引。