pandas:识别条目中的第一个字符是字母还是数字

sha*_*ubs 3 python dataframe pandas

我对在这里提问还很陌生。但这里是:

我有一个 DataFrame,其中有一列名为“id”。我希望删除给定列中不以字母开头的所有行。下面是我正在使用的 DataFrame 的示例。

df=DataFrame({"level": [1,2,3,4,5,6,7,8,9,10],
 "personCode": [23,5,3,234,6567,232,67667,56,998,2456], 
"id":  ["Z71.89","J06.9","018.9","F41.1","M72.2","440.0","L85.1","000.00","000.00","I48.91"]})
Run Code Online (Sandbox Code Playgroud)

我正在处理一个大型数据集,最近发现在该大小的 DataFrame 上使用 for 循环是不可行的。我不知道任何矢量化字符串方法可以帮助我完成我正在做的事情。我基本上是在为“id”列中每个字符串的第一个字符寻找像 isalpha() 这样的布尔值。一旦我发现这一点,我想删除整行。

过去两天我一直在研究这个问题,但没有任何进展......任何反馈都会很棒!谢谢。

DYZ*_*DYZ 5

另一种选择是检查第一个字符是否不是字母:

df[~df.id.str[0].isalpha()]
#       id  level  personCode
#2   018.9      3           3
#5   440.0      6         232
#7  000.00      8          56
#8  000.00      9         998
Run Code Online (Sandbox Code Playgroud)