Y pandas te abre un mundo de cosas... el inicio para ir aprendiendo data
science.

Saludos.

On Sun, Jul 19, 2020 at 4:23 PM Darío vía Python-es <python-es@python.org>
wrote:

>
> Ahora me quedó más claro, que tengo que usar pandas, en el mail anterior
> no lo había entendido. Gracias
>
>
> Sí perdón la desprolijidad! mejor aún es la documentación del paquete, la
> oficial está en inglés y son miles de páginas, esta página me ayudó mucho
> con pandas y otras librerías y python per sé:
> https://riptutorial.com/es/topic?q=pandas&submit=Search
>
>
>
>
> Enviado desde mi smartphone Samsung Galaxy.
>
>
> -------- Mensaje original --------
> De: Darío vía Python-es <python-es@python.org>
> Fecha: 19/7/20 17:10 (GMT-03:00)
> A: La lista de python en castellano <python-es@python.org>
> CC: Darío <dario...@protonmail.com>
> Asunto: Re: [Python-es] [Consulta] Leer csv
>
> Usando el archivo original éstas son las salidas:
> >>> import pandas as pd
>
> >>> leer = pd.read_csv('/home/darioslc/Descargas/demo.csv')
>
> >>> leer
>    T02 Region/Contry/Area    ...          Value
> 0                       1    ...      6541.9070
> 1                       1    ...      3296.4853
> 2                       1    ...      3245.4217
> 3                       1    ...       101.5734
> 4                       1    ...        28.1425
> 5                       1    ...        10.2516
>
> [6 rows x 5 columns]
>
> >>> leer.columns # muestra todas las columnas
> Index(['T02 Region/Contry/Area', ' Population density and surface area',
>        ' Year', ' Series', ' Value'],
>       dtype='object')
>
> >>> leer.columns[0]
> 'T02 Region/Contry/Area'
>
> >>> leer[leer.columns[2]]
> 0    2005
> 1    2005
> 2    2005
> 3    2005
> 4    2005
> 5    2005
> Name:  Year, dtype: int64
>
> >>> leer[:] # muestra todo
>    T02 Region/Contry/Area    ...          Value
> 0                       1    ...      6541.9070
> 1                       1    ...      3296.4853
> 2                       1    ...      3245.4217
> 3                       1    ...       101.5734
> 4                       1    ...        28.1425
> 5                       1    ...        10.2516
>
> [6 rows x 5 columns]
>
> >>> leer[0:3] # muestra de la columna 0 a la 3
>    T02 Region/Contry/Area    ...          Value
> 0                       1    ...      6541.9070
> 1                       1    ...      3296.4853
> 2                       1    ...      3245.4217
>
> [3 rows x 5 columns]
>
> >>> # renombro la primer columna
>
> >>> leer2 = leer.rename(columns = {leer.columns[0]:'regione'})
>
> >>> leer2
>    regione    ...          Value
> 0        1    ...      6541.9070
> 1        1    ...      3296.4853
> 2        1    ...      3245.4217
> 3        1    ...       101.5734
> 4        1    ...        28.1425
> 5        1    ...        10.2516
>
> [6 rows x 5 columns]
>
> No muestra todos los datos porque los nombres de columna son excesivamente
> largos, se puede renombrar con el comando anterior separando por comas lo
> renombrado (primero va el nombre viejo y después de los : el nuevo)
>
> Luego de abierto lo que podés hacer con pandas es realmente todo!!! desde
> calcular valores medios, máximos, mínimos, interpolar, graficar, etc........
>
> -
>
> Sent with ProtonMail Secure Email.
>
> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> On Sunday, 19 de July de 2020 16:49, Lemarchand Barker <
> lemarchand8...@gmail.com> wrote:
>
> > Estoy probando copiar un poco de la data del csv, lo pasé a un editor
> > y el código funcionó perfecto. No se si el archivo original tendrá
> > algún inconveniente, mi código o funciona porque copié una parte de la
> > info y no todo el resto.
> > Adjunto el archivito que hice, el código no lo toqué, lo único que
> > hice fue comentar la línea del with para colocar el nombre nuevo, y
> > quedó así:
> >
> > with open('demo.csv', 'rt') as File:
> >
> > Y la salida es la siguiente:
> > ['T02 Region/Contry/Area', ' Population density and surface area', '
> > Year', ' Series', ' Value']
> > ['1', ' Total all countries or areas', ' 2005', ' Population mid-year
> > estimates (millions)', ' 6541.9070']
> > ['1', ' Total all countries or areas', ' 2005', ' Population mid-year
> > estimates for males (millions)', ' 3296.4853']
> > ['1', ' Total all countries or areas', ' 2005', ' Population mid-year
> > estimates for females (millions)', ' 3245.4217']
> > ['1', ' Total all countries or areas', ' 2005', ' Sex ratio (males per
> > 100 females)', ' 101.5734']
> > ['1', ' Total all countries or areas', ' 2005', ' Population aged 0 to
> > 14 years old (porcentage)', ' 28.1425']
> > ['1', ' Total all countries or areas', ' 2005', ' Population aged 60+
> > years old (porcentage)', ' 10.2516']
> > []
> > Justo mando esto cuando Darío me respondió. Saludos
> >
> > El dom., 19 jul. 2020 a las 16:22, Lemarchand Barker
> > (lemarchand8...@gmail.com) escribió:
> >
> > > Buenas, estoy leyendo un csv, al principio no me leía, hasta que logré
> que lo haga, pero el problema viene cuando lee. Me muestra el resultado y
> al final me da un mensaje de error.
> > > El código es el siguiente:
> > > import csv
> > >
> > > with open('SYB62_1_201907_Population_Surface_Area_and_Density.csv',
> newline='') as File:
> > >
> > >
> =========================================================================================
> > >
> > > with open('population.csv', 'rt') as File:
> > > reader = csv.reader(File)
> > > for row in reader:
> > > print(row)
> > > La salida es la siguiente:
> > > ['188', 'Costa Rica', '2005', 'Population mid-year estimates for
> females (millions)', '2.1369', '', 'United Nations Population Division, New
> York, World Population Prospects: The 2019 Revision, last accessed June
> 2019.']
> > > ['188', 'Costa Rica', '2005', 'Sex ratio (males per 100 females)',
> '100.5460', '', 'United Nations Population Division, New York, World
> Population Prospects: The 2019 Revision; supplemented by data from the
> United Nations Statistics Division, New York, Demographic Yearbook 2015 and
> Secretariat for the Pacific Community (SPC) for small countries or areas,
> last accessed June 2019.']
> > > Traceback (most recent call last):
> > > File "/home/raiden/Programacion/curso/ejercicios/testcsv.py", line 6,
> in <module>
> > > for row in reader:
> > > File "/usr/lib/python3.8/codecs.py", line 322, in decode
> > > (result, consumed) = self._buffer_decode(data, self.errors, final)
> > > UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf4 in position
> 6529: invalid continuation byte
> > > Solo copié un fragmento de toda la salida; lo que se ve antes del
> Traceback; porque es bastante extenso el texto. Otra cosa que hice fue
> cambiarle el nombre, porque era muy extenso el original.
> > > Al abrir el archivo con la planilla de cálculo la línea 6529, es la
> siguiente:
> > > 760 Syrian Arab Republic 2010 Population aged 0 to 14 years old
> (percentage) 37.3903
> > > El contenido del csv se puede ver en este link (formato pdf): pdf
> > > El original se encuentra acá: http://data.un.org/
> > > El csv es desde la izquierda, la primer columna, donde dice:
> > > Population, surface area and density
> > > PDF | CSV Updated: 23-Jul-2019
> > > Perdón la ignorancia pero no se que puede ser lo que me esté generando
> esa salida de Unicode.
> > > Saludos, gracias
> >
> > Python-es mailing list
> > Python-es@python.org
> > https://mail.python.org/mailman/listinfo/python-es
>
>
> _______________________________________________
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
>
>
> _______________________________________________
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
>
_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es

Responder a