删除pandas dataframe中包含非数字值的行值

时间:2017-08-05 17:04:14

标签: python pandas dataframe

我有一个数据框,我想删除包含非数字值的行,并将float转换为int

# Dataframe
productid
7819210
9600146.0
031351AA2
3255214
0018392MM
1785506
6924986
1915444
6007828.0

# cuurent approach
df.productid = df[df.productid.apply(lambda x: str(x).isnumeric())].astype(int) # It also remove floating point values because they contain decimal which is non-numeric 

我也做了一个这样做的方法

def filternumeric(x):
    if (re.search('\d+', str(x))): pass
    else: return x

df.productid = df[df.productid.apply(filternumeric)].astype(int)

但它也无法正常工作。有更好的建议吗?

0 个答案:

没有答案