我要从Work_Experience列中提取另一列中的数字
**Work_Experience**
3 Month
7 month
11 Months
8 months
0
我正在寻找以下输出:
**Work_Experience** || **Output**
3 Month 3
7 month 7
11 Months 11
8 months 8
0 0
我就是这么试的
Experian_P2['Output'] = Experian_P2['Work_Experience'].str.contains('|'.join(['month', 'Month','months','Months'])).str.extract("(\d{1,2})")
3条答案
按热度按时间nbysray51#
您可以使用
(?i)
-不区分大小写匹配(\d+)
-第1组:一个或多个数字\s*
-零个或多个空格month
-month
字符串。nhaq1z212#
如果你知道第一部分总是一个数字,你可以试试这个简单的代码片段
zed5wv103#
这里假设pandas。
你的命令并没有真正意义,因为你用管道传输一个命令来生成一个boolean Series,然后试图从中提取文本:
我认为您需要在此子集上切片和
extract
: