English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Operaciones de E/S de Pandas

Ejemplo de operaciones de E/S de Pandas

Las dos principales funciones para leer archivos de texto son read_csv() y read_table(). Ambos utilizan el mismo código de análisis para convertir los datos tabulares inteligentemente en objetos DataFrame:

 pandas.read_csv(filepath_or_buffer, sep=',', delimiter=None, header='infer',
 names=None, index_col=None, usecols=None
 pandas.read_csv(filepath_or_buffer, sep='\t', delimiter=None, header='infer',
 names=None, index_col=None, usecols=None

Guarde estos datos como temp.csv y realice operaciones con ellos.

 N.º,Nombre,Edad,Ciudad,Salario
 1,Tom,28,Toronto,20000
 2,Lee,32,HongKong,3000
 3,Steven,43,Bay Area,8300
 4,Ram,38,Hyderabad,3900

read.csv

read.csv lee datos de un archivo csv y crea un objeto DataFrame.

 import pandas as pd
 df = pd.read_csv("temp.csv")
 print df

Los resultados de ejecución son los siguientes:

N.º		Nombre	Edad		Ciudad	Salario
0     1      Tom    28    Toronto    20000
1     2      Lee    32   HongKong     3000
2     3   Steven    43   Bay Area     8300
3     4      Ram    38  Hyderabad     3900

Índice personalizado

Esto especificará una columna en el archivo csv para usar index_col personalizado.

 import pandas as pd
 df = pd.read_csv("temp.csv", index_col=['N.º'])
 print df

Los resultados de ejecución son los siguientes:

N.º	Nombre	Edad		Ciudad	Salario
1       Tom    28    Toronto    20000
2       Lee    32   HongKong     3000
3    Steven    43   Bay Area     8300
4       Ram    38  Hyderabad     3900

Convertidor

El tipo de datos de las columnas se puede pasar como un diccionario.

 import pandas as pd
 df = pd.read_csv("temp.csv", dtype={'Salary': np.float}64)
 print(df.dtypes)

Los resultados de ejecución son los siguientes:

N.º		int64
Nombre		objeto
Edad		int64
Ciudad		objeto
Salario	float64
dtype:	objeto

Por defecto, el tipo de datos de la columna Salary es int, pero se muestra como float porque hemos convertido explícitamente el tipo. Por lo tanto, los datos parecen flotantes.

Por lo tanto, los datos parecen flotantes -

   N.º	Nombre	Edad		Ciudad	Salario
0   1     Tom   28    Toronto   20000.0
1   2     Lee   32   HongKong    3000.0
2   3  Steven   43   Bay Area    8300.0
3   4     Ram   38  Hyderabad    3900.0

Nombre del encabezado

Se especifican los nombres del encabezado utilizando el parámetro names.

 import pandas as pd
  
 df = pd.read_csv("temp.csv", names=['a', 'b', 'c','d','e'])
 print df

Los resultados de ejecución son los siguientes:

   a        b        c        d        e
0    S.No        Name    Age        City        Salary
1      1      Tom   28     Toronto    20000
2      2      Lee   32    HongKong     3000
3      3   Steven   43    Bay Area     8300
4      4      Ram   38   Hyderabad     3900

Tenga en cuenta que los nombres de las cabeceras se han adjuntado con nombres personalizados, pero los encabezados en el archivo aún no se han eliminado. Ahora, usamos el parámetro header para eliminarlos.

Si el encabezado no está en la primera fila, se pasa el número de fila al encabezado. Esto salta las filas anteriores.

 import pandas as pd 
 df = pd.read_csv("temp.csv", names=['a','b','c','d','e'], header=0)
 print df

Los resultados de ejecución son los siguientes:

  a        b        c        d        e
0    S.No        Name    Age        City        Salary
1     1      Tom   28     Toronto    20000
2     2      Lee   32    HongKong     3000
3     3   Steven   43    Bay Area     8300
4     4      Ram   38   Hyderabad     3900

skiprows

skiprows salta las filas especificadas.

 import pandas as pd
 df = pd.read_csv("temp.csv", skiprows=2)
 print df

Los resultados de ejecución son los siguientes:

    2      Lee   32    HongKong   3000
0   3   Steven   43    Bay Area   8300
1   4      Ram   38   Hyderabad   3900