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 字段中附加前导零