+-
python – 第一次出现’ – ‘时拆分列
我有一个带有列的pandas数据框,其中包含门牌号和后缀.门牌号和后缀用’ – ‘分隔,但许多后缀也包含’ – ‘.

我试过这个:

df house_nr(x):
    y = x['house_nr'].split('-', maxsplit = 1)
    return y

df['suffix'] = df.apply(house_nr, axis=1)

得到以下错误:

KeyError: ('house_nr', 'occurred at index 0')

经过一些其他的尝试,我有这个工作:

df2 = pd.DataFrame(df['house_nr'].str.split('-',1).tolist(),columns = ['house-number','suffix'])

然后我加入数据框,但我不认为这个解决方案非常好或pythonic.

最佳答案
建立

df = pd.DataFrame({'house_nr': ['123-Rd-thing', '456-House', '567-House-thing']})
          house_nr
0     123-Rd-thing
1        456-House
2  567-House-thing

使用列表理解和拆分,这将比pandas字符串方法更快:

pd.DataFrame([i.split('-', 1) for i in df.house_nr], columns=['num', 'suffix'])

   num       suffix
0  123     Rd-thing
1  456        House
2  567  House-thing
点击查看更多相关文章

转载注明原文:python – 第一次出现’ – ‘时拆分列 - 乐贴网