我有一个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()。
任何人都可以帮助我吗?
答案 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