pandas.core.indexing.Ошибка IndexingError: ошибка слишком многих индексаторов

#python #pandas

#python #pandas

Вопрос:

я пытаюсь заменить строку на int в pandas, но я получаю эту ошибку, кто-нибудь знает, что я сделал не так?

         print(self.df['verdeling'].str.split('/ ',expand=True))
        ramen = pd.DataFrame(self.df['verdeling'].str.split('/ ',expand=True))

        print(ramen)
        ramen = ramen.iloc[:,0].replace({'twee delen':2,
                                    'een deel':1,
                                    'drie delen':3,})
        # bijramen =self.df['verdeling'].str.split('/ ').get(1)
        bijramen = ramen.iloc[:,1].replace({'een bovenlicht':1,
                                        'twee bovenlichten':2,
                                        'een onderlicht':1,
                                        'teee onderlichte':2})
        self.df['ramen'] = ramen
        self.df['bijramen'] = bijramen
 

ошибка:

   File "C:UsersinfoAppDataLocalPackagesPythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0LocalCachelocal-packagesPython38site-packagespandascoreindexing.py", line 873, in __getitem__      
    return self._getitem_tuple(key)
  File "C:UsersinfoAppDataLocalPackagesPythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0LocalCachelocal-packagesPython38site-packagespandascoreindexing.py", line 1443, in _getitem_tuple  
    self._has_valid_tuple(tup)
  File "C:UsersinfoAppDataLocalPackagesPythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0LocalCachelocal-packagesPython38site-packagespandascoreindexing.py", line 700, in _has_valid_tuple 
    raise IndexingError("Too many indexers")
pandas.core.indexing.IndexingError: Too many indexers
 

Комментарии:

1. Вы устанавливаете ramen = ramen.iloc[:,0] , а затем пытаетесь получить доступ bijramen = ramen.iloc[:,1] : это выглядит немного странно.

2. спасибо @Timus, это действительно была проблема