str.split()适用于'\\',但不适用于'\ n'或'\\ n'

时间:2019-05-18 02:30:32

标签: python pandas split

我有一些地址数据(数据框中的列),如下所示:

address
FowlerWhiteBurnettPA\n1395BrickellAvenue\nFourteenthFloor\nMiami,FL33131
Levine&GlassmanLLC\n1655NCommerceParkway\nWeston,FL33326
SimonTrialFirm\nBiscayneBankTower\n2601SouthBayshoreDriveSuite1010\nMiami,FL33133

我想拆分此列以仅保留公司名称。也就是说,我只想拥有:

firm
FowlerWhiteBurnettPA
Levine&GlassmanLLC
SimonTrialFirm

我使用的代码是:

data['firm'] = data['address'].str.split('\n').str[0]

但是,这只会返回原始地址,而不会进行任何更改。然后我尝试了

data['firm'] = data['address'].str.split('\\').str[0]

它在'\'上分割并给出我想要的。但是,我不知道为什么'\ n'不起作用。.我也尝试对'\ n'进行分裂,这也行不通。

有人知道这是怎么回事吗?

1 个答案:

答案 0 :(得分:2)

尝试运行df.address.values。您的输出可能是:

array(['FowlerWhiteBurnettPA\\n1395BrickellAvenue\\nFourteenthFloor\\nMiam....

请注意字符串中的\\n

在这种情况下,您需要在\上进行两次转义,或者将raw_string r'...'表示为\并进行一次转义,如下所示:

df.address.str.split('\\\\n').str[0]

df.address.str.split(r'\\n').str[0]

Out[147]:
0    FowlerWhiteBurnettPA
1      Levine&GlassmanLLC
2          SimonTrialFirm
Name: address, dtype: object