I have a data set which contains keywords,rank_organic and document column. For every keyword there are documents for rank_organic = 1,2,3,4 or 5. But for some keywords I have some rank_organic field missing.
For example: For keyword A, I have rank_organic = 1,2,4,5 and 3 is missing. I want to create a list of documents of length 5 where for rank_organic=3, null or space should come and for rest rank the documents should come. Below is the code which I am using but it giving error. Please help me how to achieve it.
def key_doc(data):
lis=[]
for i in pd.unique(data['keyword']):
a = data.loc[data['keyword'].isin([i])]
j = i.replace(" ","_")
j = Node(i, parent= Testing,
documents=[(a.loc[(a['rank_organic']==1)])['vocab'].tolist()[0]
,(a.loc[(a['rank_organic']==2)])['vocab'].tolist()[0]
,(a.loc[(a['rank_organic']==3)])['vocab'].tolist()[0]
,(a.loc[(a['rank_organic']==4)])['vocab'].tolist()[0]
,(a.loc[(a['rank_organic']==5)])['vocab'].tolist()[0]])
# print j.name, len(j.documents)
lis.append(j)
return lis
ERROR: ,(a.loc[(a['rank_organic']==3)])['vocab'].tolist()[0]
IndexError: list index out of range
Aucun commentaire:
Enregistrer un commentaire