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

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日