+-

我有一个带有列的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 – 第一次出现’ – ‘时拆分列 - 乐贴网