Pandas中是否有任何方法可以从 pd.Series 列设置每一行
Column
1 253
2 7
3 12
进入任何固定长度? 整数或字符串。
Column
1 253
2 007
3 012
答案 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