python - 删除熊猫数据框中以非数字开头的列中的记录
问题描述
我有带有 3 个 columna 的 pandas 数据框,我想对 OIB 列执行完整性检查,以删除 OIB 下以非数字开头的观察结果。
示例 DF 如下:我想删除从非数字开始的 OIB 的 3 行。
subscriber_id msisdn oib
1: BP12192064 385989105724 19958945074
2: KP12192064 385989105774 09958945074
3: KP12192064 385989105774 A9958945074
我在 R 中尝试如下:
sym <- unique(df[!substr(oib, 1, 1) %in% (0:9), list(symb = substr(oib, 1, 1))])
df <- df[!substr(oib, 1, 1) %in% symbols[, symb]]
我希望 Python 中的上述代码具有预期的输出:
subscriber_id msisdn oib
1: BP12192064 385989105724 19958945074
2: KP12192064 385989105774 09958945074
解决方案
您可以isin
使用string.digits
:
from string import digits
df[df['oib'].str[0].isin(list(digits))]
推荐阅读
- reactjs - css-loader css modules 嵌套组件规则
- kubernetes - 为 pod 分配的默认内存是多少
- r - 近似重复数据删除
- apache-mina - 下面的代码是否正确连接到远程 Linux 主机并使用 Apache Mina 完成一些任务?
- sql - 通过 Docmd TransferDatabase 将表从 MS Access 导出到 Snowflake
- python - 如何在 kali-linux 上安装 pyscopg2?
- wpf - Trigger.ExitActions 部分中的动画 ScaleTransform
- python - jupyter-notebook 命令后 jupyter-notebook 不工作
- python - 如何从另一个文件夹和子文件夹导入 python 文件
- haskell - 如何将 MonadUnliftIO 或 MonadBaseControl 与 Hedgehog 一起使用?