我有一个数据集,其中包括关键字,排名和文件列。对于每个关键字,都有排名为1、2、3、4或5的文档。但是对于一些关键词,我缺少了一些排名。你知道吗
例如:对于关键字A,我的rank_organic=1、2、4、5,缺少3。我想创建一个长度为5的文档列表,对于rank_organic=3,null或空格应该出现,对于rest rank,文档应该出现。 下面是我正在使用的代码,但它给出了错误。请帮助我如何实现它。你知道吗
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
错误:
,(a.loc[(a['rank_organic']==3)])['vocab'].tolist()[0]
IndexError: list index out of range
我建议您对此使用列表或字典理解,并使用
next
检索第一个元素。next
还有一个可选参数,如果没有要提取的元素,我们将其定义为[]
(空列表)。你知道吗然后将
docs
作为类实例参数。你知道吗下面是
next(iter(lst), ...)
方法工程:你知道吗相关问题 更多 >
编程相关推荐