我有一个带有列的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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。