Pandas中给DF1添加DF2索引列时触发重复标签值错误的问题
问题:将DataFrame索引添加到另一DataFrame列时触发重复标签错误
尝试执行以下代码,将DF2的索引添加到DF1的新列中:
DF1['NewCol'] = DF2.index
但触发了如下错误:
ValueError: cannot reindex on an axis with duplicate labels
明明没做重新索引操作,却出现了这个问题。
说明
DF2的索引包含重复标签,打印结果如下:
print(DF2.index) Index(['A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', ... 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B'], dtype='object', name='ID', length=3172)
另外发现一段可以正常运行的代码逻辑:
DF1= pd.DataFrame() # DF1['NewCol'] = DF.index -- 直接赋值触发错误 DF1['Col1'] = DF.Col DF1=DF1.merge(DF[['Col1','LEVEL_1']].rename(columns={'LEVEL_1': 'XX'}), on = 'Col1', how='left') DF1['NewCol'] = DF.index # 此时赋值可正常运行
内容的提问来源于stack exchange,提问作者TourEiffel
相关产品推荐
相关产品推荐

