选择括号中的数据
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
我在 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