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