📜  pd 添加带零的列 (1)

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

Pandas添加带零的列

有时候,我们需要在 Pandas 数据框中添加一个带有前导零的列。例如,我们可以将日期表示为 YYMMDD 或者 YYYYMMDD 的形式。在这种情况下,我们可以使用 Pandas 中的一些方法和技巧来轻松地添加这样的列。

使用 Pandas 的 str.zfill() 方法

我们可以使用 Pandas 的 str.zfill() 方法在 Pandas 数据框中的某一列中添加带零的前导位数。

import pandas as pd

# 创建一个示例数据框
df = pd.DataFrame({'date': ['20210801', '20210802', '20210803']})

# 使用 str.zfill() 方法添加前导零
df['date'] = df['date'].str.zfill(8)

print(df)

输出结果如下:

       date
0  20210801
1  20210802
2  20210803

在上面的示例中,我们首先创建了一个示例数据框,其中包含一个日期列 'date',每个日期都表示为包含年月日的数字字符串。然后,我们使用 Pandas 的 str.zfill() 方法将 'date' 列中的所有日期前导零填充为 8 位数。

使用 Pandas 的 apply() 方法

我们也可以使用 Pandas 的 apply() 方法和 lambda 函数来添加带零的前导位数。

import pandas as pd

# 创建一个示例数据框
df = pd.DataFrame({'date': ['20210801', '20210802', '20210803']})

# 使用 apply() 方法添加前导零
df['date'] = df['date'].apply(lambda x: '{:0>8}'.format(x))

print(df)

输出结果如下:

       date
0  20210801
1  20210802
2  20210803

在上面的示例中,我们首先创建了一个示例数据框,其中包含一个日期列 'date',每个日期都表示为包含年月日的数字字符串。然后,我们使用 Pandas 的 apply() 方法和一个 lambda 函数将 'date' 列中的所有日期前导零填充为 8 位数。

结论

在本文中,我们介绍了两种在 Pandas 数据框中添加带零的前导位数的方法:使用 Pandas 的 str.zfill() 方法和 apply() 方法。无论您选择哪种方法,这些都是添加带零的列的方便且易于实现的方法。