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
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
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With