我在数据框中有一个列,其中的值是这样的:
col1:
00000000000012VG
00000000000014SG
00000000000014VG
00000000000010SG
20000000000933LG
20000000000951LG
20000000000957LG
20000000000963LG
20000000000909LG
20000000000992LG
我想删除所有零:
a)位于其他数字和字母的前面(例如,如果00000000000010SG
我要删除此部分000000000000
并保留10SG
)。
b)在类似的情况下,20000000000992LG
我想删除此部分0000000000
并2
与合并992LG
。
正如我检查过的那样,str.stprip('0')仅解决了部分a)。
但是,这两种情况的正确解决方案是什么?
我建议使用类似于Ed的答案,但使用regex来确保不是所有的0都被替换,并且消除了对0的数量进行硬编码的需要。
In [2426]: df.col1.str.replace(r'[0]{2,}', '', 1)
Out[2426]:
0 12VG
1 14SG
2 14VG
3 10SG
4 2933LG
5 2951LG
6 2957LG
7 2963LG
8 2909LG
9 2992LG
Name: col1, dtype: object
仅替换第一个0字符串。
感谢@jezrael指出我的回答中有一个小错误。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句