首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pandas数据帧应用函数中出现异常

Pandas数据帧应用函数中出现异常
EN

Stack Overflow用户
提问于 2018-12-03 07:19:26
回答 1查看 52关注 0票数 0

我得到以下错误,但我不确定它是什么。您能帮我找出导致这个错误的原因吗?

代码语言:javascript
复制
def determine_device_type(*args, **kwargs):
    device_name = str(args[0])
    #print(device_name)
    if re.search(r'^\w+c(\d\d|\w\w|\d\d\d\d)$', device_name):
        print(device_name, ' --> ', 'Cisco')
        return 'Cisco'
    if re.search(r'^\w+r(\d\d|\w\w|\d\d\d\d)$', device_name):
        print(device_name, ' --> ', 'Riverbed')
        return 'Riverbed'
    if re.search(r'^\w+j(\d\d|\w\w|\d\d\d\d)$', device_name):
        print(device_name, ' --> ', 'Juniper')
        return 'Juniper'

    return ''

vendor = df['DEVICE'].apply(determine_device_type)  
df.insert(3, 'VENDOR', vendor) 

错误

代码语言:javascript
复制
    ValueError                                Traceback (most recent call last)
<ipython-input-42-8b32a12d4761> in <module>()
     21 
     22 vendor = df['MDN_DEVICE'].apply(determine_device_type)
---> 23 df.insert(3, 'VENDOR', vendor)
     24 df

C:\Continuum\anaconda3\lib\site-packages\pandas\core\frame.py in insert(self, loc, column, value, allow_duplicates)
   2611         value = self._sanitize_column(column, value, broadcast=False)
   2612         self._data.insert(loc, column, value,
-> 2613                           allow_duplicates=allow_duplicates)
   2614 
   2615     def assign(self, **kwargs):

C:\Continuum\anaconda3\lib\site-packages\pandas\core\internals.py in insert(self, loc, item, value, allow_duplicates)
   4061         if not allow_duplicates and item in self.items:
   4062             # Should this be a different kind of error??
-> 4063             raise ValueError('cannot insert {}, already exists'.format(item))
   4064 
   4065         if not isinstance(loc, int):

ValueError: cannot insert VENDOR, already exists
EN

回答 1

Stack Overflow用户

发布于 2018-12-03 07:53:37

您似乎已经有了一个“供应商”列。您可以使用df.head()进行确认。若要避免此错误,请在插入前删除该列。

代码语言:javascript
复制
df.drop(columns=['VENDOR']).insert(3, 'VENDOR', vendor) 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53585579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档