2017-05-21 9 views

答えて

2

あなたはstr.zfillベクトル化文字列操作を使用することができます...しかし、あなたは最初の文字列に列を変換する必要があります。

df.Column.astype(str).str.zfill(3) 

1 253 
2 007 
3 012 
Name: Column, dtype: object 

また、フォーマット文字列

df.Column.apply('{:03d}'.format) 

1 253 
2 007 
3 012 
Name: Column, dtype: object 

タイミング

np.random.seed([3,1415]) 
df = pd.DataFrame(dict(Column=np.random.randint(1000, size=10000))) 


%timeit df.Column.apply(lambda x: str(x).zfill(3)) 
100 loops, best of 3: 5.36 ms per loop 

%timeit df.Column.astype(str).str.zfill(3) 
100 loops, best of 3: 17.5 ms per loop 

%timeit df.Column.apply('{:03d}'.format) 
100 loops, best of 3: 5.03 ms per loop 
を適用することができます
3
#Use zfill() 

s.apply(lambda x: str(x).zfill(3)) 
Out[942]: 
1 253 
2 007 
3 012 
Name: Column, dtype: object 
関連する問題