微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

相关推荐