如何将Pandas DataFrame列中带前导零的数值统一为常规整数?
解决方法
你可以用Pandas的类型转换或字符串处理功能实现需求,以下是两种常用方案:
方案一:转为整数类型(推荐)
这种方法会自动去除字符串的前导零,同时将列转为整数类型,完全匹配预期输出:
import pandas as pd # 构造示例DataFrame df = pd.DataFrame({'col1': ['01', '1', '02', '2', '03', '3', '00', '0']}) # 转换列类型为整数 df['col1'] = df['col1'].astype(int)
执行后df的输出就会是你想要的格式。
方案二:保留字符串类型并去除前导零
如果需要保留列的字符串类型,可通过字符串处理去除前导零,同时处理全零字符串的特殊情况:
df['col1'] = df['col1'].str.lstrip('0').replace('', '0')
这种方式会把'01'转为'1','00'转为'0',最终得到字符串类型的目标结果。
内容的提问来源于stack exchange,提问作者bananaboy
相关产品推荐
相关产品推荐

