在开头添加字符串

时间:2018-05-21 07:36:25

标签: python string pandas append

我有一个pandas系列字符串,我想在它的开头用零附加这个字符串。

例如,我有123456,我想要00000123456。 并非所有字符串都具有相同的大小(长度),并且每个字符串的大小必须为11。

我试过这段代码:

x = [6, 7, 8, 9, 10]
for i in range(len(x)):
    if x[i] == df['ID'].str.len():
        df['ID'].join((11-i)*'0')

并收到此错误:

  

系列的真值是模棱两可的。使用a.empty,a.bool(),a.item(),a.any()或a.all()。

任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:3)

您可以使用str.zfill

<强>实施例

n = "123456"
print(n.zfill(11))

<强>输出:

00000123456

答案 1 :(得分:1)

在pandas中,使用列上的str,然后使用zfill。小例子:

df = pd.DataFrame(['123456', '234567', '345678'], columns=['ID'])
df['ID'] = df['ID'].str.zfill(11)

给你:

             ID
0   00000123456
1   00000234567
2   00000345678