Sergio Velasquez
PreguntaQuiero preguntar una curiosidad que me ocurrio mientras colocaba la linea faltante, q se muestra en el video al minuto 0:54
Cuando coloque la linea:
el_universal.loc[missing_titles_mask, 'title'] = missing_titles.loc[:, 'missing_titles']
Me dio este error:
--------------------------------------------------------------------------- IndexingError Traceback (most recent call last) <ipython-input-158-00cf814478f7> in <module>() ----> 1 el_universal.loc[missing_titles_mask, 'title'] = missing_titles.loc[:, 'missing_titles'] 2 el_universal C:\Program Files (x86)\Microsoft Visual Studio\Shared\Anaconda3_64\lib\site-packages\pandas\core\indexing.py in __getitem__(self, key) 1365 except (KeyError, IndexError): 1366 pass -> 1367 return self._getitem_tuple(key) 1368 else: 1369 # we by definition only have the 0th axis C:\Program Files (x86)\Microsoft Visual Studio\Shared\Anaconda3_64\lib\site-packages\pandas\core\indexing.py in _getitem_tuple(self, tup) 861 862 # no multi-index, so validate all of the indexers --> 863 self._has_valid_tuple(tup) 864 865 # ugly hack for GH #836 C:\Program Files (x86)\Microsoft Visual Studio\Shared\Anaconda3_64\lib\site-packages\pandas\core\indexing.py in _has_valid_tuple(self, key) 201 for i, k in enumerate(key): 202 if i >= self.obj.ndim: --> 203 raise IndexingError('Too many indexers') 204 if not self._has_valid_type(k, i): 205 raise ValueError("Location based indexing can only have " IndexingError: Too many indexers
Descubri que eliminando el ‘missing_titles’ ya me corria bien:
el_universal.loc[missing_titles_mask, 'title'] = missing_titles.loc[:]
Los NaN quedaban remplazados por titulos validos en el data frame. Hasta ahi todo bien.
Sin embargo cuando quise aplicar el mismo principio en mi Receta, me dio un error como este:
Traceback (most recent call last): File "newspaper_receipe.py", line 115, in <module> df= main(args.filename) File "newspaper_receipe.py", line 23, in main df = _fill_missing_titles(df) File "newspaper_receipe.py", line 62, in _fill_missing_titles df.loc[missing_titles_mask, 'title'] = missing_titles.loc[:] File "C:\Users\sergi\.conda\envs\Platzi_Data\lib\site-packages\pandas\core\indexing.py", line 190, in __setitem__ self._setitem_with_indexer(indexer, value) File "C:\Users\sergi\.conda\envs\Platzi_Data\lib\site-packages\pandas\core\indexing.py", line 645, in _setitem_with_indexer value = self._align_frame(indexer, value) File "C:\Users\sergi\.conda\envs\Platzi_Data\lib\site-packages\pandas\core\indexing.py", line 860, in _align_frame raise ValueError('Incompatible indexer with DataFrame') ValueError: Incompatible indexer with DataFrame
Por que hay dicha diferencia en mu Jupyter Notebooks?
En el caso del profe David, parece no tener esta discrepancia entre ambos casos
Es acaso pq en mi JN y mi ambiente Pyhton existe una diferencia a la hora de compilar pandas?
Diferencias entre librerías en los distintos ambientes?

Osmandi Gomez
Sergio, es posible que la página hayan cambiando los id en las etiquetas. En tal caso también puedes crear un entorno virtualizado con virtualenv y no deberías tener problemas entre las versiones de Pandas.