我是在哪? 2020-06-11 12:50 采纳率: 0%
浏览 969
已采纳

pandas中如何从后向前提取字符串。

import pandas as pd
import re
#假如,df里面有一列a,每一行都是字符串,如“张山吃了10公斤香蕉,经查张山实际吃了5公斤”,又如何“李四吃了5公斤西瓜,实际上李四卖了3公斤香蕉”
如何我用df.str.extract('\d+?公斤')提取到会是第一个数字。
怎么能从后向前提取,提取后面出现的这组数字呢
extractall会排除nan。不符合要求。

  • 写回答

1条回答 默认 最新

  • opcc1987 2020-06-11 15:58
    关注
    >>> test
    0    张山吃了10公斤香蕉,经查张山实际吃了5公斤
    1    李四吃了4公斤西瓜,实际上李四卖了3公斤香蕉
    dtype: object
    >>> test.str.extract('\d+公斤.*(\d+公斤)')
         0
    0  5公斤
    1  3公斤
    >>>
    

    我也是试了半天才试出来的

    又试了试,更简单

    >>> test.str.extract('.+(\d+公斤)')
         0
    0  5公斤
    1  3公斤
    >>>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 1月18日

悬赏问题

  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序
  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 Centos / PETSc / PETGEM