我有一个包含奖项列的csv文件,其中包含各种不同的提名和奖项。我想从此dataset
中的奖项列中提取数据,并将其拆分为多个列。该奖项包括获奖,一般提名以及某些类别的获奖和提名的详细信息(例如,奥斯卡,BAFTA等)。奖项列的示例输入如下所示。
我想将这些数据分成几列分析数据。我们可以用python实现这个吗?我正在使用pandas访问dataframe
。预期输出样本如下所示。
答案 0 :(得分:1)
您的数据似乎没有特别好的结构。如果格式保证采用以下形式:
x 获胜& y 提名。
然后是以下代码:
testStrings = ['1 win & 1 nomination.','2 wins.','5 nominations.', '3 wins & 8 nominations.', '2 wins.','9 wins.']
text = [i.split('&') for i in testStrings]
data=[]
for row in text:
for t in row:
winIndex = t.find('win')
nomIndex = t.find('nom')
if winIndex>0:
w=int(t[:winIndex-1] )
else:
w=0
if nomIndex>0:
n=int(t[:nomIndex-1] )
else:
n=0
data.append([w,n])
将为您提供数据列表,其中每行的每个元素都是 [numWins,numNoms] 。
您可以通过搜索这些关键字(例如代码查找子字符串"赢得"以及" NOM&#34)。希望这能提供一些帮助。