代码之家  ›  专栏  ›  技术社区  ›  Sudhi

输出显示类似于序列([],)的内容,如何修复此问题?

  •  0
  • Sudhi  · 技术社区  · 6 年前

    我有一个像下面这样的数据框架。

    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)
    

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

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

    我不明白系列([],)是什么意思。有人能解释一下这可能有什么问题吗?我怎样才能摆脱这个系列([],)。如何获取Link1列的每个链接信息的正确引用?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Sudhi    6 年前

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

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

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

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