【发布时间】:2019-08-03 00:36:51
【问题描述】:
我是正则表达式的新手,所以我的代码很吃力。
我有一个数据框,df,结构如下:
NAME PERCENT
0 APPLE COMPANY A 57 638 232 stocks 0.12322
1 BANANA 1 COMPANY B 12 946 201 stocks 0.02768
2 ORANGE COMPANY C 8 354 229 stocks 0.01786
df = pd.DataFrame({
'NAME': ['APPLE COMPANY A 57 638 232 stocks', 'BANANA 1 COMPANY B 12 946 201 stocks', 'ORANGE COMPANY C 8 354 229 stocks'],
'PERCENT': [0.12322, 0.02768 , 0.01786]
})
我想从NAME 中提取整数,但不是所有整数(请注意,在第 1 行中,我们有BANANA 1 COMPANY B,我想在COMPANY 之前忽略整数1。我只想提取那些stocks 之前的整数。
我希望输出如下所示:
NAME PERCENT STOCKS
0 APPLE COMPANY A 0.12322 57638232
1 BANANA 1 COMPANY B 0.02768 12946201
2 ORANGE COMAPNY C 0.01786 8354229
到目前为止,我只有这个,它不能产生我想要的:
df['NAME'].str.findall(r'\b\d+\b')
编辑:请注意,股票的数量可能会从数千变为数百万,这意味着没有模式。
【问题讨论】:
标签: python regex pandas extract