如何在Python Pandas系列中添加前导零

时间:2019-04-05 09:05:16

标签: python pandas

我是一名SAS程序员,正在学习Python(主要通过Datacamp),并且我尝试复制我在工作中通常使用SAS的最基本任务之一。我被困在需要将前导零添加到Pandas系列(dtype int64)的部分中,以使所有值都具有12个数字。我尝试了在该网站上发现的许多解决方案,这些解决方案似乎对其他人有用,但他们只是帮不了我。

我尝试过的解决方案示例:

df1.RegRszNr = pd.Series(map(lambda x: '%012d' %x, df1.RegRszNr))
df1.RSZNUM2 = pad(df1.RSZNUM,12,'left',0)

在执行任何操作之前,我还尝试使用str()将列类型更改为字符串,但是它仅将Series更改为字符串,并且我看到dtype仍为int64。我的直觉是,我必须找到一种将dtype正确切换为string的方法,对吗?

当我打印出尝试的结果时,我总是看到没有前导零。

打印结果示例:

0     10179804534
1    210175420813
2     10172655828
3     10167870042
4     10181878103
Name: RegRszNr, dtype: int64
<class 'pandas.core.series.Series'>

我希望看到的例子是第一行是“ 010179804534”。我想我需要找到正确的方法将其转换为字符串,然后再使用其他方法?谁能帮我吗?

P.S。 :对于也使用SAS的任何人,这是我通常会编写的SAS代码,以获取长度9且前导零的字符变量:

data want;
set have;
length rsznum $ 9;
rsznum = put(RegRszNr,z9.);
run;

在此先感谢您的帮助!

0 个答案:

没有答案