Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python add a leading zero to column with str and int

Tags:

python

pandas

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
like image 859
yangd01234 Avatar asked Jan 05 '23 12:01

yangd01234


2 Answers

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
like image 143
jezrael Avatar answered Jan 07 '23 02:01

jezrael


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
like image 32
Vaishali Avatar answered Jan 07 '23 01:01

Vaishali