【问题标题】:How do I return a specific substring within a Pandas dataframe如何返回 Pandas 数据框中的特定子字符串
【发布时间】:2022-12-19 19:35:07
【问题描述】:

我有一列文本,我需要找到子字符串并返回整个单词,但无法弄清楚如何获取整个单词。

每列的底部都有一个编码标记为“ATT03”、“ATT04”等的文本,我想使用该 ATT 并为每个标签创建一个新列。

因此,例如我的专栏如下所示:

blahblahblah 文本 [ATT03]:blahblahblah

blahblahblah 文本 [ATT03]:blahblahblah

blahblahblah 文本 [ATT04]:blahblahbblahblah

废话 [ATT08]: blahblahblah

df_att=(df2.loc[:,'Report Text'].str.split("ATT",1)).str[-1]

我用它来创建一个新列,但它只将数据拆分为“ATT08:blahblahblahblah”,我真的只想要“[]”之间的 ATT。我不需要所有无关的数据。

是否有仅返回 ATT03 的正则表达式/代码?没有周围的其余字符串?

太感谢了!我已经为此苦苦挣扎了几个小时,感到很沮丧。

【问题讨论】:

  • 使用str.extract("(ATT[^\]]*)")我想...
  • 太感谢了!这非常接近。不过,它给了我 ATT 之前的字符。 “主治医师协议 [ATT03”是我得到的输入。
  • 试试str.extract("\[(ATT[^\]]*)")

标签: python pandas regex string strsplit


【解决方案1】:

您可以使用以下正则表达式:

df_att=(df2.loc[:,'Report Text'].str.extract("[(ATT[^]]*)")

它将提取您要查找的括号之间的文本。

【讨论】:

  • @JLondon:请将问题标记为已回答/已接受。
猜你喜欢
  • 2021-10-23
  • 1970-01-01
  • 1970-01-01
  • 2021-07-10
  • 2019-07-14
  • 1970-01-01
  • 2020-11-12
  • 1970-01-01
  • 2018-12-09
相关资源
最近更新 更多