Python在时间字段中添加前导零

时间:2018-07-13 14:53:10

标签: python string python-2.7 pandas

如何在数据帧的int列中添加前导零。我有一个int列,其时间值格式为HHMMSS。凌晨12点之后的某些时间值有两位数字。即30应该是0030,45应该是t045。如何将前导零添加到下面的列

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)

2 个答案:

答案 0 :(得分:3)

您必须执行以下步骤:

  1. 将列的内容转换为字符串
  2. 使用str访问器访问内容。
  3. 致电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

答案 1 :(得分:2)

使用Series.str.zfill方法中内置的 Series

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

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