输出显示了类似系列([],)的内容,如何解决此问题



我有一个数据帧,如下所示。

df = pd.DataFrame({ 'reference_id':['012ABH3', '012ABD44', '023HBA3', '032IHJK4', '543BHKI0'], 'link1': ['http://ll.abc.com/LNLDSOUYsda5443', 'http://ll.abc.com/KJBAKJBADndkja1223', 'http://ll.abc.com/KJADBDKAJB9973Fsdad', 'http://ll.abc.com/KAHSBAKHBjj*&*', 'http://ll.abc.com/JBKJBKJBDSwe77676']})
df
reference_id                                  link1
0     012ABH36      http://ll.abc.com/LNLDSOUYsda5443
1     012ABD44   http://ll.abc.com/KJBAKJBADndkja1223
2     023HBA35 https://ll.abc.com/KJADBDKAJB9973Fsdad
3     032IHJK4       http://ll.abc.com/KAHSBAKHBjj*&*
4     543BHKI0   https://ll.abc.com/JBKJBKJBDSwe77676

我正在尝试编写一个for循环,并从数据帧中的每个链接获取一些信息。

for i in df['link1']:
if str(i).startswith('http'):
link = i
link = re.sub(r'(w+)(?=.*:)', 'http', link)
rid = df.loc[df['link1'] == link, 'reference_id']
rid = pid.to_string(index=False)
print(rid)

但在这个过程中,我还需要将相应链接的referenceid打印到输出值列表中。当我这样做的时候,我注意到我得到了如下所示的东西。

012ABH36
012ABD44
Series([], )
Series([], )
543BHKI0

我不明白系列([],(是什么意思。有人能解释一下这可能出了什么问题吗?我该如何摆脱系列赛([],(?如何获得link1列的每个链接的正确引用信息?

我通过测试一些组合确定了问题的原因。

在我的脚本中,我写了下面一行

link = re.sub(r'(w+)(?=.*:)', 'http', link)

这是将所有具有https的链接转换为http。但是,当完成此操作并尝试获取相应的referenceid时,它会注意到链接是错误的。因此,它不打印引用。事实上,@nixon给出的第一个答案是正确的。感谢你指向正确的方向

最新更新