簡體   English   中英

提取兩個分隔符之間的字符串 Python dataframe

[英]Extract string between two delimiters in Python dataframe

我正在嘗試從以下內容中提取:-之間的值

>>> all_cancers.iloc[:,3]
0        chr1:100414771-100414772
1          chr1:10506157-10506158
2        chr1:109655506-109655507
3        chr1:113903257-113903258
4        chr1:117598869-117598870

我嘗試re.findall('\:(.*?)\-', all_cancers.iloc[:,3].astype(str))來執行此操作,但它會生成以下錯誤: TypeError: expected string or bytes-like object

這里缺少什么?

你可以使用這個模式,

In [33]: re.match(r'.*:(.*)-',"chr1:100414771-100414772").group(1)
Out[33]: '100414771'

在 datafame 中,您可以使用apply + lambda

all_cancers.iloc[:,3].apply(lambda x: re.match(r'.*:(.*)-', x).group(1))

使用extract

all_cancers.iloc[:,3].str.extract(r'.*:(.*)-')

(來源:OlvinRoght 的評論)

Debuggex 演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM