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

标签 python pandas dataframe

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

我有一个 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"]})

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

在过去的两天里,我一直在努力解决这个问题,但没有任何进展……如果有任何反馈,那就太好了!谢谢。

最佳答案

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

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

关于python - pandas:识别条目中的第一个字符是字母还是数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45446516/

相关文章:

python - 在 Windows 上的 Python 中获取上次更改时间

python - random.choice 的加权版本

python - 从带有权重的 pandas DataFrame 中随机选择一行

python - 如何从pandas数据框中删除带括号的特殊字符

python - Pandas:从一系列数组创建新的数据框列

python - Pyspark:Pad Array[Int] 列带零

python - 在Python中比较pandas数据帧的单列值(将perl转换为python代码)

python - Pandas - 使用 PostCoder 查找每行中的纬度和经度,然后在新列中返回邮政编码

python - 如何训练基于三元组数组的模型

python - 如何在 Tkinter TkTable 中插入/设置数据