Skip to main content
 首页 » 编程设计

python之删除06、07等数字前的0

2025年05月04日27dyllove98

pandas DataFrame 的列包含如下值:

d = {'Col1' : pd.Series(['07','','10','06']),'Col2' : pd.Series([1., 2., 3.])} 

我想删除一些整数前面的0,即07->7、06->6,而10是可以的。 我该怎么做(包括空单元格的处理)?

我试过这段代码,但它给出了一个错误 ValueError: invalid literal for int() with base 10: ''

df['Col1'] = df['Col1'].apply(lambda x: int(x)) 

请您参考如下方法:

int() 函数不适用于空字符串,但您可以通过回退轻松修复它,以防值为 falsy(而空字符串确实是 falsy):

df['Col1'] = df['Col1'].apply(lambda x: int(x or 0)) 

int(x) 将在值为非空时调用,int(0) 为非空时(假设您想要用零代替空值) .