Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
2
respuestas

Problema para crear el DataFrame en "Creando Cursos" desde HTML

Hola, me pueden ayudar para poder extraer bien los datos encontrados en la tabla HTML (https://www.tiobe.com/tiobe-index/), él los encuentra y los muestra como una Lista pero cuando intento pasarlo a un DataFrame, cursos = pd.DataFrame(pd.read_html('https://www.tiobe.com/tiobe-index/')), me dice los siguiente:

/usr/local/lib/python3.10/dist-packages/pandas/core/internals/construction.py:568: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray. values = np.array([convert(v) for v in values])

No sé a que se refiere cuando me dice que haga la lista en Numpy, porque tiene diferentes tipos de datos y ahora la tabla en la página web tienen diferentes filas, la pregunta es si ¿(convert(v)) se utilizaría para convertir primero los datos a un sólo tipo de dato y después hacer el mismo número de filas?

2 respuestas
solución!

Hola!

Una posible solución a este problema es utilizar el parámetro "dtype=object" al crear el ndarray, como sugiere la advertencia. Esto permitirá que el ndarray tenga diferentes tipos de datos en sus elementos. Aquí tienes un ejemplo de cómo podrías hacerlo:

import pandas as pd

url = 'https://www.tiobe.com/tiobe-index/'
data = pd.read_html(url)
cursos = pd.DataFrame(data[0], dtype=object)

Al especificar "dtype=object", le estás diciendo a pandas que trate cada elemento de la tabla como un objeto genérico, lo cual debería permitir que el DataFrame se cree correctamente.

Es importante tener en cuenta que, debido a que los datos de la tabla HTML pueden tener diferentes filas, puede que tengas que realizar algunas manipulaciones adicionales en los datos para que tengan el mismo número de filas antes de crear el DataFrame. Esto dependerá de la estructura de la tabla y de cómo quieras organizar tus datos. :)

Avisame si esto te ayudó, cualquier cosa, puedes enviar tu código para ayudarte mejor!

Si este post te ayudó, por favor, marca como solucionado ✓.

Erikabellidoalarcon,

Muy agradecido con su respuesta diligente. Lo puse en prueba y me funcionó prefectamente, hasta corrigió otro inconveniente con mi código, por lo que funcionó de maravillas.

La verdad la sugerencia de google Colab es bastante clara, pero de momento yo no sabía o no recordaba como aplicarlo. Infinitas gracias.