qq_43601497 2022-01-11 10:41 采纳率: 80%
浏览 43
已结题

pandas 正则匹配int类型的数字

原表 data
订单编号 物流费用
0 19160394 0.2513
1 &nbsp19140861 0.1513
2 &nbsp19160333 0.1513

需要变成这样的形式
订单编号 物流费用
0 19160394 0.2513
1 19140861 0.1513
2 19160333 0.1513

我用了这样的方法
data['订单编号'].str.extract('([0-9]+)')
这样我方法就不能提出第0列(19160394)这个,因为这个是int类型
各位有办法?
用pandas 写

  • 写回答

1条回答 默认 最新

  • heianduck 2022-01-11 11:38
    关注
    import pandas as pd
    frame = pd.DataFrame([
        [19160394, 0.2513],
        ['&nbsp19140861', 0.1513],
        ['&nbsp19160333', 0.1513],   
    ],index=[1,2,3], columns=['订单编号', '物流费用'])
    
    def isnum(x):
        if isinstance(x, int ) or isinstance(x, float):
            return x
        elif isinstance(x, str):
            return int("".join(list(filter(str.isdigit, x))))
    
    frame['订单编号'] = frame['订单编号'].apply(isnum)
    frame
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月15日
  • 已采纳回答 3月7日
  • 创建了问题 1月11日

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看