如何在数据帧的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)
答案 0 :(得分:3)
您必须执行以下步骤:
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
答案 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