【问题标题】:Putting zeros before a number in pandas [duplicate]在熊猫的数字前加零[重复]
【发布时间】:2020-05-30 07:08:51
【问题描述】:

我有一个与this 类似的问题,但与可视化无关。我有一个带有 int 列的 pandas 数据框。

A
5
43
1200
555

而且我需要始终有 4 位数字,因为这代表原始时间戳:

00:05
00:43
12:00
05:55

我怎样才能在我有结果的那一列上工作:

0005
0043
1200
0555

【问题讨论】:

  • 所以 qustion 只是关于 df['A'] = df['A'].astype(str).str.zfill(4) ?未添加: ?
  • 加上 : 很好,有帮助,我改变了我的问题
  • 请不要改变问题的意思。如果您还有其他问题,请在单独的帖子中提出。

标签: python pandas


【解决方案1】:

使用Series.str.zfill,但先转换为字符串:

df['A'] = df['A'].astype(str).str.zfill(4)
print (df)
      A
0  0005
1  0043
2  1200
3  0555

如果需要::

s = df['A'].astype(str).str.zfill(4)
df['A'] = s.str[:2] + ':' + s.str[2:]

或者:

df['A'] = df['A'].astype(str).str.zfill(4).map(lambda x: f'{x[:2]}:{x[2:]}')

print (df)
       A
0  00:05
1  00:43
2  12:00
3  05:55

【讨论】:

    猜你喜欢
    • 2013-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-20
    • 2018-05-19
    • 2021-04-12
    • 2018-07-18
    相关资源
    最近更新 更多