我拥有以下数据框:
Cap
0 44
1 40017
2 123
3 13900
4 9122
...
317173 41012
317174 39055
317175 9055
317176 146
317177 74121
['Cap']列中的值应包含5位数字。缺少的数字应为零:
Cap
0 00044
1 40017
2 00123
3 13900
4 09122
...
317173 41012
317174 39055
317175 09055
317176 00146
317177 74121
我是编程新手。我创建了以下有效的迭代过程,但我确信必须有一种更有效的方法(在原始数据框中有更多列)。
for lab, row in df.iterrows():
if len(str(df.loc[lab, 'Cap'])) == 1:
df.loc[lab, 'Cap'] = '0000' + str(df.loc[lab, 'Cap'])
elif len(str(df.loc[lab, 'Cap'])) == 2:
df.loc[lab, 'Cap'] = '000' + str(df.loc[lab, 'Cap'])
elif len(str(df.loc[lab, 'Cap'])) == 3:
df.loc[lab, 'Cap'] = '00' + str(df.loc[lab, 'Cap'])
elif len(str(df.loc[lab, 'Cap'])) == 4:
df.loc[lab, 'Cap'] = '0' + str(df.loc[lab, 'Cap'])
谢谢。