如何在Pandas中设置固定行长?

时间:2017-05-21 06:12:05

标签: python pandas

Pandas中是否有任何方法可以从 pd.Series 列设置每一行

    Column
1      253
2        7
3       12

进入任何固定长度? 整数或字符串。

    Column
1      253
2      007
3      012

2 个答案:

答案 0 :(得分:3)

#Use zfill()

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

答案 1 :(得分: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