选择括号中的数据

Selecting data in parenthesis

我在 csv 文件中有一个电影列表,100 行 x 1 列,如下所示:

1. Mulholland Drive (David Lynch, 2001)

我想去掉前面的数字,把标题、导演和年份放在每一列中。我做了:

rank = pd.read_csv("/Users/...csv", header = 0) 
rank.columns = ['1']
rank['1'] = rank['1'].str[3:]

为了去掉前面的所有数字,所以接下来,我想通过以下方式分隔括号中的内容:

rank = rank[rank.find("(")+1:rank.find(")")]

但我得到:

AttributeError: 'DataFrame' object has no attribute 'find'

如果它们总是采用那种格式,例如 - 仅使用给定的示例模拟文件(如果您有方括号或逗号等...等...则不会匹配格式 - 这会中断):

rank = pd.read_csv('somefile.csv', header=None, names=['film'])
df = rank.film.str.extract('(?:\d+\.\s+)(.*?)\((.*?),\s+(\d+)\)', expand=True)

哪个会给你:

                   0            1     2
0  Mulholland Drive   David Lynch  2001