首页 > 解决方案 > 删除熊猫数据框中以非数字开头的列中的记录

问题描述

我有带有 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

标签: pythonpandas

解决方案


您可以isin使用string.digits

from string import digits

df[df['oib'].str[0].isin(list(digits))]

推荐阅读