想象一下我有:
COLUMN A
0 00000-UNITED STATES
1 01000-ALABAMA
2 01001-Autauga County, AL
3 01003-Baldwin County, AL
4 Barbour County, AL
我想将它们拆分为两列,但要确保如果最后一行中的值是字符串,它将转到第二列。如果是int,则转到第一列。例如,使用字符串:
COLUMN B COLUMN C
0 00000 UNITED STATES
1 01000 ALABAMA
2 01001 Autauga County, AL
3 01003 Baldwin County, AL
4 Barbour County, AL
我试过这个:
df[['B','C']] = df.A.str.split(" - ", n = 1, expand=True)
很明显,它的反应是:
COLUMN B COLUMN C
0 00000 UNITED STATES
1 01000 ALABAMA
2 01001 Autauga County, AL
3 01003 Baldwin County, AL
4 Barbour County, AL
您可以创建两个函数,从列A中提取所需的元素并分配给列B和列C:
创建列,然后删除列A:
尝试使用^{} 和正则表达式,使第二个捕获组成为可选
-
后面的值:完整代码:
相关问题 更多 >
编程相关推荐