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