我有一个Pandas表,需要从存储在列中的文本中提取股票代码'00981','00823‘。代码采用(00000)格式。代码将位于文本摘要中的不同位置。敬请指教。
News
1 example(00981)example example example。
2 example example example (00823)text text text 所需输出:
Code column
981
823
s = TABLE['News'].str.find('(')
e = s + 5
c = TABLE['News'].str[s:e]
TABLE["Code"] = c发布于 2019-11-13 23:43:54
这对我来说很有效:
print(df)
News
0 1 example(00981)example example example。
1 2 example example example (00823)text text...df['stock_num'] = df['News'].str.extract('(\d{5})').astype(int)
print(df)
News stock_num
0 1 example(00981)example example example。 981
1 2 example example example (00823)text text... 823要将字符串更改为数字,可以使用.astype()方法或pd.to_numeric(df['stock_number'])
发布于 2019-11-13 23:26:19
这将查找由括号括起的5位数字的所有匹配项:
import re
x = re.findall('\(\d{5}\)', my_string)https://stackoverflow.com/questions/58840216
复制相似问题