English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Basic operations of Pandas DataFrame
DataFrame is a two-dimensional data structure, that is, data is aligned in a tabular form across rows and columns.
The potential columns are of different types Variable size Labeled axis (rows and columns) Arithmetic operations can be performed on rows and columns
The structure of Series is as follows:
Let's assume we are creating a DataFrame with student data.
We can consider it as a SQL table or an electronic spreadsheet data representation.
The following constructors can be used to create a pandas DataFrame-
pandas.DataFrame(data, index, columns, dtype, copy)
Parameter description:
data: The data is in various forms, such as ndarray, series, mapping, list, dict, constants, and another DataFrame. index: For row labels, if no index is passed, the index used for the result frame is Optional Default np.arange(n). columns: Para los etiquetas de columna, la sintaxis predeterminada opcional es}}-np.arange(n). Sólo se aplica si no se pasa un índice. dtype: Tipo de datos de cada columna. copy: Si el valor predeterminado es False, este comando (o cualquier comando de él) se usa para copiar los datos.
Se puede crear un DataFrame de pandas con varios inputs-
Lists dict Series Numpy ndarray Otro DataFrame
En la parte posterior de este capítulo, veremos cómo usar estos inputs para crear un DataFrame.
Se puede crear un DataFrame básico que es un DataFrame vacío.
# Nombre de archivo: pandas.py # author by: es.oldtoolbag.com # Importar paquete de dependencia pandas y alias import pandas as pd df = pd.DataFrame() print(df)
Resultados de la ejecución:
DataFrame vacío Columnas: [] Índice: []
# Nombre de archivo: pandas.py # author by: es.oldtoolbag.com # Importar paquete de dependencia pandas y alias import pandas as pd data = [1,2,3,4,5]] df = pd.DataFrame(data) print(df)
Resultados de la ejecución:
0 0 1 1 2 2 3 3 4 4 5
# Nombre de archivo: pandas.py # author by: es.oldtoolbag.com # Importar paquete de dependencia pandas y alias import pandas as pd data = [['Alex',10],['Bob',12],['Clarke',13]] df = pd.DataFrame(data, columns=['Nombre','Edad']) print(df)
Resultados de la ejecución:
Nombre Edad 0 Alex 10 1 Bob 12 2 Clarke 13
# Nombre de archivo: pandas.py # author by: es.oldtoolbag.com # Importar paquete de dependencia pandas y alias import pandas as pd data = [['Alex',10],['Bob',12],['Clarke',13]] df = pd.DataFrame(data, columns=['Nombre','Edad'], dtype=float) print df
Resultados de la ejecución:
Nombre Edad 0 Alex 10.0 1 Bob 12.0 2 Clarke 13.0
La longitud de todos los ndarray debe ser la misma. Si se pasa un index, la longitud del índice debe ser igual a la longitud del array.
Si no se pasa un índice, el índice predeterminado será range(n), donde n es la longitud del array.
# Nombre de archivo: pandas.py # author by: es.oldtoolbag.com # Importar paquete de dependencia pandas y alias import pandas as pd data = {'Nombre':['Tom', 'Jack', 'Steve', 'Ricky'], 'Edad':28,34,29,42']) df = pd.DataFrame(data) print(df)
Resultados de la ejecución:
Edad Nombre 0 28 Tom 1 34 Jack 2 29 Steve 3 42 Ricky
usamos un array para crear un DataFrame de índices.
# Nombre de archivo: pandas.py # author by: es.oldtoolbag.com # Importar paquete de dependencia pandas y alias import pandas as pd data = {'Nombre':['Tom', 'Jack', 'Steve', 'Ricky'], 'Edad':28,34,29,42']) df = pd.DataFrame(data, index=['rango'1','rango'2','rango'3','rango'4']) print(df)
Resultados de la ejecución:
Edad Nombre rank1 28 Tom rank2 34 Jack rank3 29 Steve rank4 42 Ricky
Una lista de diccionarios puede ser pasada como datos de entrada para crear un DataFrame. Por defecto, las claves de los diccionarios se utilizan como nombres de columna.
El siguiente ejemplo muestra cómo crear un DataFrame pasando una lista de diccionarios.
# Nombre de archivo: pandas.py # author by: es.oldtoolbag.com # Importar paquete de dependencia pandas y alias import pandas as pd data = [{'a': 1, 'b': 2},{'a': 5, 'b': 10, 'c': 20}] df = pd.DataFrame(data) print(df)
Resultados de la ejecución:
a b c 0 1 2 NaN 1 5 10 20.0
El siguiente ejemplo muestra cómo crear un DataFrame pasando una lista de diccionarios y un índice de filas.
# Nombre de archivo: pandas.py # author by: es.oldtoolbag.com # Importar paquete de dependencia pandas y alias import pandas as pd data = [{'a': 1, 'b': 2},{'a': 5, 'b': 10, 'c': 20}] df = pd.DataFrame(data, index=['first', 'second']) print(df)
Resultados de la ejecución:
a b c first 1 2 NaN second 5 10 20.0
El siguiente ejemplo muestra cómo crear un DataFrame que contiene una lista de diccionarios, índices de filas y columnas.
# Nombre de archivo: pandas.py # author by: es.oldtoolbag.com # Importar paquete de dependencia pandas y alias import pandas as pd data = [{'a': 1, 'b': 2},{'a': 5, 'b': 10, 'c': 20}] # Dos índices de columna, valores iguales a las claves del diccionario df1 = pd.DataFrame(data, index=['first', 'second'], columns=['a', 'b']) # Dos índices de columna df2 = pd.DataFrame(data, index=['first', 'second'], columns=['a', 'b'])1']) print(df1) print(df2)
Resultados de la ejecución:
#df1 output a b first 1 2 second 5 10 #df2 output a b1 first 1 NaN second 5 NaN
Se puede pasar un diccionario de series para formar un DataFrame. El índice resultante es la unión de todos los índices de las series pasadas.
# Nombre de archivo: pandas.py # author by: es.oldtoolbag.com # Importar paquete de dependencia pandas y alias import pandas as pd d = {'one' : pd.Series([1, 2, 3], index=['a', 'b', 'c']), 'two' : pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])} df = pd.DataFrame(d print(df)
Resultados de la ejecución:
one two a 1.0 1 b 2.0 2 c 3.0 3 d NaN 4
Para la primera serie, no se pasó la etiqueta 'd', pero el resultado es que se añadió NaN para la etiqueta 'd'.
Ahora vamos a entender la selección, adición y eliminación de columnas a través de un ejemplo.
Vamos a seleccionar una columna de DataFrame para entender esto.
# Nombre de archivo: pandas.py # author by: es.oldtoolbag.com # Importar paquete de dependencia pandas y alias import pandas as pd d = {'one' : pd.Series([1, 2, 3], index=['a', 'b', 'c']), 'two' : pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])} df = pd.DataFrame(d print(df['one'])
Resultados de la ejecución:
a 1.0 b 2.0 c 3.0 d NaN Nombre: one, tipo: flotante64
Vamos a entender esto añadiendo una nueva columna a la caja de datos existente.
# Nombre de archivo: pandas.py # author by: es.oldtoolbag.com # Importar paquete de dependencia pandas y alias import pandas as pd d = {'one' : pd.Series([1, 2, 3], index=['a', 'b', 'c']), 'two' : pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])} df = pd.DataFrame(d #Añadir una nueva columna pasando una nueva serie a un objeto DataFrame existente con etiquetas de columna print ("Añadiendo una nueva columna como Series:") df['three']=pd.Series([10,20,30],index=['a','b','c']) print df print ("Agregar una nueva columna usando una columna existente en DataFrame:") df['four']=df['one']+df['three'] print(df)
Resultados de la ejecución:
Agregar una nueva columna pasando como Series: one two three a 1.0 1 10.0 b 2.0 2 20.0 c 3.0 3 30.0 d NaN 4 NaN Agregar una nueva columna usando una columna existente en DataFrame: one two three four a 1.0 1 10.0 11.0 b 2.0 2 20.0 22.0 c 3.0 3 30.0 33.0 d NaN 4 NaN NaN
Se puede eliminar o quitar una columna; veamos cómo hacerlo con un ejemplo.
# Nombre de archivo: pandas.py # author by: es.oldtoolbag.com # Importar paquete de dependencia pandas y alias import pandas as pd d = {'one' : pd.Series([1, 2, 3], index=['a', 'b', 'c']), 'two' : pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd']), 'three' : pd.Series([10,20,30], index=['a','b','c'])} df = pd.DataFrame(d print ("Our dataframe is:") print(df) # using del function print ("Deleting the first column using del function:") del df['one'] print(df) # using pop function print ("Deleting another column using POP function:") df.pop('two') print(df)
Resultados de la ejecución:
Our dataframe is: one three two a 1.0 10.0 1 b 2.0 20.0 2 c 3.0 30.0 3 d NaN NaN 4 Deleting the first column using del function: three two a 10.0 1 b 20.0 2 c 30.0 3 d NaN 4 Deleting another column using POP function: three a 10.0 b 20.0 c 30.0 d NaN
Ahora, entenderemos la selección de filas, la adición y la eliminación mediante un ejemplo. Comencemos con el concepto de selección.
Se puede seleccionar una fila mediante la transmisión de una etiqueta de fila a la funciónloc.
# Nombre de archivo: pandas.py # author by: es.oldtoolbag.com # Importar paquete de dependencia pandas y alias import pandas as pd d = {'one' : pd.Series([1, 2, 3], index=['a', 'b', 'c']), 'two' : pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])} df = pd.DataFrame(d print(df.loc['b'])
Resultados de la ejecución:
one 2.0 two 2.0 Name: b, dtype: float64
El resultado es una serie de etiquetas con nombres como nombres de columna de DataFrame. Y, el nombre de la serie se utiliza para buscar su etiqueta.
Se puede seleccionar una fila mediante la transmisión de una posición entera a la funcióniloc.
# Nombre de archivo: pandas.py # author by: es.oldtoolbag.com # Importar paquete de dependencia pandas y alias import pandas as pd d = {'one' : pd.Series([1, 2, 3], index=['a', 'b', 'c']), 'two' : pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])} df = pd.DataFrame(d print(df.iloc[2])
Resultados de la ejecución:
one 3.0 two 3.0 Name: c, dtype: float64
Se puede usar el operador ': ' para seleccionar múltiples filas.
# Nombre de archivo: pandas.py # author by: es.oldtoolbag.com # Importar paquete de dependencia pandas y alias import pandas as pd d = {'one' : pd.Series([1, 2, 3], index=['a', 'b', 'c']), 'two' : pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])} df = pd.DataFrame(d print(df[2:4])
Resultados de la ejecución:
one two c 3.0 3 d NaN 4
Agregar nuevas filas al DataFrame utilizando la función append. Esta función agregará filas al final.
# Nombre de archivo: pandas.py # author by: es.oldtoolbag.com # Importar paquete de dependencia pandas y alias import pandas as pd df = pd.DataFrame([1, 2], [3, 4], columns = ['a','b']) df2 = pd.DataFrame([5, 6], [7, 8], columns = ['a','b']) df = df.append(df2) print(df)
Resultados de la ejecución:
a b 0 1 2 1 3 4 0 5 6 1 7 8
Eliminar filas desde DataFrame utilizando etiquetas de índice. Si las etiquetas son repetidas, se eliminarán múltiples filas.
Si observa, en el ejemplo anterior, las etiquetas son repetidas. Eliminemos una etiqueta y veremos cuántas filas se eliminarán.
# Nombre de archivo: pandas.py # author by: es.oldtoolbag.com # Importar paquete de dependencia pandas y alias import pandas as pd df = pd.DataFrame([1, 2], [3, 4], columns = ['a','b']) df2 = pd.DataFrame([5, 6], [7, 8], columns = ['a','b']) df = df.append(df2) # Eliminar filas con etiqueta 0 df = df.drop(0) print(df)
Resultados de la ejecución:
a b 1 3 4 1 7 8
En el ejemplo anterior, se eliminaron dos filas, ya que contenían la etiqueta 0 repetida.