Python将前导零添加到时间字段[重复]

Posted

技术标签:

【中文标题】Python将前导零添加到时间字段[重复]【英文标题】:Python Adding leading zero to Time field [duplicate] 【发布时间】:2018-12-21 23:55:09 【问题描述】:

如何将前导零添加到数据框中的 int 列。我有一个 int 列,其中包含 HHMMSS 格式的时间值。上午 12 点之后的一些时间值有两位数。即 30 应该是 0030,45 应该是 0045。如何在下面的列中添加前导零

ColumnName
100012
225434
30
45
36
80200

预期结果

ColumnName
100012
225434
0030
0045
0036
80200

我在 python 中使用 pandas 尝试了以下代码,但它不起作用

str(df.ColumnName).zfill(4)

我也试过

if(len(str(df.ColumnName))==2)
    str(df.ColumnName).zfill(4)

【问题讨论】:

【参考方案1】:

您必须采取以下步骤:

    将列的内容转换为字符串 使用str 访问器访问内容。 致电zfill

最重要的是,

4.重新分配回系列:

df = pd.DataFrame('a': [1, 2, 10, 20])
print(df)

#     a
# 0   1
# 1   2
# 2  10
# 3  20


df['a'] = df['a'].astype(str).str.zfill(4)
print(df)

#       a
# 0  0001
# 1  0002
# 2  0010
# 3  0020

【讨论】:

【参考方案2】:

使用Series内置Series.str.zfill方法:

df.ColumnName.astype(str).str.zfill(4)

#0    100012
#1    225434
#2      0030
#3      0045
#4      0036
#5     80200
#Name: ColumnName, dtype: object

【讨论】:

以上是关于Python将前导零添加到时间字段[重复]的主要内容,如果未能解决你的问题,请参考以下文章

将 SQL Server 中 datetime 字段的默认值添加到时间戳

将五个小时添加到时间戳字段

在 QueryContext Oracle 的数字 varchar 字段中附加前导零

Python使用string.format添加前导零[重复]

将前导零添加到 Spark 数据框中的列 [重复]

相对于输入数字动态添加前导零[重复]