ValueError:无法使用带有pandas的isin从重复轴重新索引

时间:2015-06-11 17:55:15

标签: python pandas dataframe

我正在尝试将zipcodes缩短为各种文件,但我一直在

  

ValueError:无法从重复轴重新索引

我已经阅读了有关Stackoverflow的其他文档,但我还没有弄清楚为什么它的重复轴。

import csv
import pandas as pd
from pandas import DataFrame as df
fp = '/Users/User/Development/zipcodes/file.csv'
file1 = open(fp, 'rb').read()
df = pd.read_csv(fp, sep=',')

df = df[['VIN', 'Reg Name', 'Reg Address', 'Reg City', 'Reg ST', 'ZIP',
         'ZIP', 'Catagory', 'Phone', 'First Name', 'Last Name', 'Reg NFS',
         'MGVW', 'Make', 'Veh Model','E Mfr', 'Engine Model', 'CY2010',
         'CY2011', 'CY2012', 'CY2013', 'CY2014', 'CY2015', 'Std Cnt', 
        ]]
#reader.head(1)
df.head(1)
zipBlue = [65355, 65350, 65345, 65326, 65335, 64788, 64780, 64777, 64743,
64742, 64739, 64735, 64723, 64722, 64720]

还包含zipGreen, zipRed, zipYellow, ipLightBlue 但是没有包含在示例中。

def IsInSort():
    blue = df[df.ZIP.isin(zipBlue)]
    green = df[df.ZIP.isin(zipGreen)]
    red = df[df.ZIP.isin(zipRed)]
    yellow = df[df.ZIP.isin(zipYellow)]
    LightBlue = df[df.ZIP.isin(zipLightBlue)]
def SaveSortedZips():
    blue.to_csv('sortedBlue.csv')
    green.to_csv('sortedGreen.csv')
    red.to_csv('sortedRed.csv')
    yellow.to_csv('sortedYellow.csv')
    LightBlue.to_csv('SortedLightBlue.csv')
IsInSort()
SaveSortedZips()
  1864年#试图在重复1865年的轴上重新索引   如果不是self.is_unique和len(索引器):    - > 1866引发ValueError("无法从重复的轴重新索引")1867 1868 def reindex(self,target,method = None,   level = None,limit = None):

     

ValueError:无法从重复轴重新索引

1 个答案:

答案 0 :(得分:11)

我很确定你的问题与你的面具有关

df = df[['VIN', 'Reg Name', 'Reg Address', 'Reg City', 'Reg ST', 'ZIP',
         'ZIP', 'Catagory', 'Phone', 'First Name', 'Last Name', 'Reg NFS',
         'MGVW', 'Make', 'Veh Model','E Mfr', 'Engine Model', 'CY2010',
         'CY2011', 'CY2012', 'CY2013', 'CY2014', 'CY2015', 'Std Cnt', 
        ]]

'ZIP'在那里两次。删除其中一个应解决问题。

错误ValueError: cannot reindex from a duplicate axis是其中一个非常非常神秘的pandas错误,它根本不会告诉您错误是什么。

错误通常与两个列在操作之前或之后(内部)命名相同。