pandas 列标签'national_id'不唯一

sxissh06  于 2023-01-01  发布在  其他
关注(0)|答案(1)|浏览(106)

我有两个 Dataframe ,但当我使用这个时:

total_views.columns = [['national_id','total_views']]
ret.columns = [['national_id','count']]
merged_df = ret.merge(total_views, on= 'national_id')

我得到这个错误“列标签'national_id'是不唯一的”

,但当我使用这个:

total_views.columns = ['national_id','total_views']
ret.columns = ['national_id','count']
merged_df = ret.merge(total_views, on= 'national_id')

我的代码工作正常我找不到一个括号或两个括号之间的任何区别

我试着找出这两种语法之间的区别

dgtucam1

dgtucam11#

使用双方括号为列创建了一个MultiIndex,这就是为什么会出现错误。如果在运行代码行后运行total_views.columns,使用双方括号重命名列,则会得到:

MultiIndex([('national_id',),
            ('total_views',)],
           )

而在使用方括号重命名列之后运行它会得到一个正常的索引:

Index(['national_id', 'total_views'], dtype='object')

相关问题