yangd01234
yangd01234

Reputation: 251

Python add a leading zero to column with str and int

Hello I want to add a leading zero in my current column with str and int but I do not know how. I only want to add leading zeros to the numbers ex: not A111. The data is imported from a csv file. I am very new to pandas and python.

ex:

Section
1
2
3
4
4SS
15
S1
A111

Convert into:

Section
01
02
03
04
4SS
15
S1
A111

Upvotes: 4

Views: 13049

Answers (2)

jezrael
jezrael

Reputation: 862601

You can use str.zfill:

#numeric as string
df = pd.DataFrame({'Section':['1', '2', '3', '4', 'SS', '15', 'S1', 'A1']})

df['Section'] = df['Section'].str.zfill(2)
print (df)
  Section
0      01
1      02
2      03
3      04
4      SS
5      15
6      S1
7      A1

If mixed numeric with strings first cast to string:

df = pd.DataFrame({'Section':[1, 2, 3, 4, 'SS', 15, 'S1', 'A1']})

df['Section'] = df['Section'].astype(str).str.zfill(2)
print (df)
  Section
0      01
1      02
2      03
3      04
4      SS
5      15
6      S1
7      A1

Upvotes: 9

Vaishali
Vaishali

Reputation: 38415

Try this

df['Section'] = df['Section'].apply(lambda x: x.zfill(2))

You get

Section
0   01
1   02
2   03
3   04
4   SS
5   15
6   S1
7   A1

Upvotes: 1

Related Questions