我有一个包含人名的数据框列
Name
-------
Doe,John
Joe,Don
Hanks
我用逗号作为分隔符把它分成两列
x[['lastname','firstname']].str.split(',',1,expand = True)
并获得一个新的数据帧
lastname | firstname
--------------------
Doe | John
Joe | Don
Hanks |
请注意,对于Hanks,姓氏如预期的那样是空白的,因为在这种情况下没有逗号。现在这是一个小时文件,只要至少有一个带逗号的名字,代码就可以正常运行并创建firstname和lastname列。然而,在一些罕见的情况下,该小时文件列中的所有名字只有一个单词——姓氏。这会在str.split中产生错误,因为没有行满足使用逗号作为分隔符的分割条件。
问题:如何在Python中处理此错误?如果文件中的所有名称只有一个单词,并且没有行有逗号可以作为分隔符,我希望将单个单词放在第一列中,并在分割后的第二列中设置默认空白。
您可以使用Try
和Except
或定义常规例程来定义可互换的对象,而不是空白或错误的格式
你可以使用这些路由:
if not bool(myBlankObject):
#define new value
myBlankObject = someValue
或者你可以使用下面的路由:
try:
#raise Error
except Exception as e:
myBlakObject = someValue
#or do sth
我建议你使用第一个选项,因为你需要定义一些其他的东西来进行数据预处理;因此,您需要定义新对象,而不是空或None或空白对象