Quiero preguntar una curiosidad que me ocurrio mientras colocaba la linea faltante, q se muestra en el video al minuto 0:54 Cuando coloqu...

Pregunta de la clase:
Valores duplicados en Jupyter
Sergio Velasquez

Sergio Velasquez

Pregunta
studenthace 6 años

Quiero 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?

1 respuestas
para escribir tu comentario
    Osmandi Gomez

    Osmandi Gomez

    studenthace 6 años

    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.

Curso de Ingeniería de Datos con Python

Curso de Ingeniería de Datos con Python

Genera un set de datos capaz de generar predicciones a partir de algoritmos de machine learning. Encuentra fuentes ideales de datos. Trata, limpia y alista información para crear tu dataset y da el primer paso para formarte en la Carrera de Ciencia de Datos.

Curso de Ingeniería de Datos con Python
Curso de Ingeniería de Datos con Python

Curso de Ingeniería de Datos con Python

Genera un set de datos capaz de generar predicciones a partir de algoritmos de machine learning. Encuentra fuentes ideales de datos. Trata, limpia y alista información para crear tu dataset y da el primer paso para formarte en la Carrera de Ciencia de Datos.