Python:str.split()带空格表示索引错误

Python:str.split()带空格表示索引错误,python,numpy,Python,Numpy,我正在检查数据框中电话号码的有效性 特别是,我想检查电话号码是否包含空格: -如果是且第一部分长度超过6个字符,则我要删除第二部分;如果不是6个字符长,我想删除空白 -如果没有,请继续 这是我的代码: print(np.where( offline.PHONE_NUMBER.notnull(), np.where(offline.PHONE_NUMBER.str.contains(" ", regex = False), np.where(off

我正在检查数据框中电话号码的有效性

特别是,我想检查电话号码是否包含空格: -如果是且第一部分长度超过6个字符,则我要删除第二部分;如果不是6个字符长,我想删除空白 -如果没有,请继续

这是我的代码:

print(np.where(
    offline.PHONE_NUMBER.notnull(), 
        np.where(offline.PHONE_NUMBER.str.contains(" ", regex = False),
            np.where(offline.PHONE_NUMBER.str.split(expand = True)[1] != 'None',
                     np.where(offline.PHONE_NUMBER.str.split(expand = True)[0].str.contains(r".{6,}", regex = True),
             offline.PHONE_NUMBER.str.split(expand = True)[0], offline.PHONE_NUMBER.str.replace(r" ", "")), 
                     offline.PHONE_NUMBER), offline.PHONE_NUMBER), offline.PHONE_NUMBER))
它使我的索引器:列表索引超出范围

从前面的问题中我知道,如果字符串中不包含所需的字符,str.split()可能会给出错误,但我认为通过检查null值和offline.PHONE_NUMBER.str.contains(“,regex=False),我可以避免这个问题

你能帮我吗?我错过了什么


谢谢大家!

是否在第4行给出了错误?这可能是因为尾随空格-123456_uu不会分成两部分,而是一部分。尝试使用python的内置.strip()方法首先删除前导空格和尾随空格。

第4行是否出现错误?这可能是因为尾随空格-123456_uu不会分成两部分,而是一部分。尝试使用python内置的.strip()方法首先删除前导和尾随空格。

索引超出split()的范围意味着您试图访问未拆分的内容。而不是:

offline.PHONE_NUMBER.str.split(expand = True)[1] != 'None'
尝试以下方法:

len(offline.PHONE_NUMBER.str.split(expand = True))>1

现在为什么它不做分割呢?我们需要查看数据。

索引超出split()的范围意味着您试图访问未拆分的内容。而不是:

offline.PHONE_NUMBER.str.split(expand = True)[1] != 'None'
尝试以下方法:

len(offline.PHONE_NUMBER.str.split(expand = True))>1

现在为什么它不做分割呢?我们需要查看数据。

您的代码试图在一行中执行太多操作。你有没有试着弄清楚你的代码中到底是哪一部分导致了错误?是的,就是这个:np.where(offline.PHONE_NUMBER.str.split(expand=True)[1]!='None',当我第一次尝试应用str.split()时函数您的代码试图在一行中执行太多操作。您是否尝试准确地找出代码中导致错误的部分?是的,就是这一部分:np.where(offline.PHONE_NUMBER.str.split(expand=True)[1]!='None',当我第一次尝试应用str.split()时函数是的,错误在第4行。谢谢,但不幸的是,即使使用.strip()方法,它也会给我同样的错误。是的,错误在第4行。谢谢,但不幸的是,使用
len(offline.PHONE\u NUMBER.str.split(expand=True))上的过滤器,它也会给我同样的错误>1
有效,谢谢!使用
len(offline.PHONE\u NUMBER.str.split(expand=True))上的过滤器1
有效,谢谢!