我正在寻找一种从数据列中删除特定元素的有效方法。

我有这样的数据:

year
1 (1991)
10 (1991-2001)
8 (1991-1998)
2 (2000-2002)


我想成为这样:

year
1991
1991 - 2001
1991 - 1998
2000 - 2002


我想删除括号之前和之后的括号和元素。

最佳答案

使用正则表达式:


使用pandas.Series.str.extract


正则表达式:\((.*)\)
提取()之间的内容



df = pd.DataFrame({'year': ['1 (1991)', '10 (1991-2001)', '8 (1991-1998)', '2 (2000-2002)']})

           year
       1 (1991)
 10 (1991-2001)
  8 (1991-1998)
  2 (2000-2002)

df['year'] = df['year'].str.extract(r'\((.*)\)')

      year
      1991
 1991-2001
 1991-1998
 2000-2002

关于python - 如何仅提取括号之间的字符串成分?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58360149/

10-12 21:14