繁体   English   中英

删除序列号中的前导零或外来字符

[英]Remove leading zeros or foreign characters in sequence number

例如:在下面的“示例”列中,我需要删除第 2、3 和 5 列,因为它们要么在开头有前导零,要么在开头有特殊字符。

指数 样本
1 12345
2 00152
3 09
4 325
5 .1246

我尝试将“示例”列数据类型更改为字符串并像这样提取第一个字符:

t = df['Sample'].astype(str).str[0].astype(int)

但它给了我这个 output:

print(t)

 
|   1   |  1  | 
|   2   |  1  | 
|   3   |  9  | 
|   4   |  3  |
|   5   |  0  | 

它想要这样,以便我可以使用索引值删除相应的行:

 
|   1   |  1  | 
|   2   |  0  | 
|   3   |  0  | 
|   4   |  3  |
|   5   |  .  | 

我的方法正确吗? 有人可以帮我解决这个问题吗? 非常感谢。

您可以尝试使用str.match如下:

df = df[df["sample"].str.match(r'[1-9]')]

这只会保留样本值以数字开头的行,而不是零。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM