Método Pandas insert
-
Método
pandas.DataFrame.insert()
en Python -
Establecer
allow_duplicates = True
en el métodoinsert()
para añadir una columna ya existente
Este tutorial explica cómo podemos utilizar el método insert()
para un DataFrame de Pandas para insertar una columna en el DataFrame.
import pandas as pd
countries_df = pd.DataFrame(
{
"Country": ["Nepal", "Switzerland", "Germany", "Canada"],
"Continent": ["Asia", "Europe", "Europe", "North America"],
"Primary Language": ["Nepali", "French", "German", "English"],
}
)
print("Countries DataFrame:")
print(countries_df, "\n")
Producción :
Countries DataFrame:
Country Continent Primary Language
0 Nepal Asia Nepali
1 Switzerland Europe French
2 Germany Europe German
3 Canada North America English
Utilizaremos el DataFrame countries_df
mostrado en el ejemplo anterior para explicar cómo podemos utilizar el método insert()
para un DataFrame de Pandas para insertar una columna en el DataFrame.
Método pandas.DataFrame.insert()
en Python
Sintaxis
DataFrame.insert(loc, column, value, allow_duplicates=False)
Inserta la columna llamada column
en el DataFrame
con los valores especificados por value
en la ubicación loc
.
Insertar una columna con el mismo valor para todas las filas utilizando el método insert()
import pandas as pd
countries_df = pd.DataFrame(
{
"Country": ["Nepal", "Switzerland", "Germany", "Canada"],
"Continent": ["Asia", "Europe", "Europe", "North America"],
"Primary Language": ["Nepali", "French", "German", "English"],
}
)
print("Countries DataFrame:")
print(countries_df, "\n")
countries_df.insert(3, "Capital", "Unknown")
print("Countries DataFrame after inserting Capital column:")
print(countries_df)
Resultado:
Countries DataFrame:
Country Continent Primary Language
0 Nepal Asia Nepali
1 Switzerland Europe French
2 Germany Europe German
3 Canada North America English
Countries DataFrame after inserting Capital column:
Country Continent Primary Language Capital
0 Nepal Asia Nepali Unknown
1 Switzerland Europe French Unknown
2 Germany Europe German Unknown
3 Canada North America English Unknown
Inserta la columna Capital
en el DataFrame de countries_df
en la posición 3
con el mismo valor de la columna para todas las filas establecido en Unknown
.
La posición comienza en 0
y, por tanto, la posición 3
se refiere a la 4ª
columna del DataFrame.
Insertar una columna en un DataFrame especificando el valor de cada fila
Si queremos especificar los valores de cada fila para la columna a insertar usando el método insert()
, podemos pasar una lista de valores como argumento value
en el método insert()
.
import pandas as pd
countries_df = pd.DataFrame(
{
"Country": ["Nepal", "Switzerland", "Germany", "Canada"],
"Continent": ["Asia", "Europe", "Europe", "North America"],
"Primary Language": ["Nepali", "French", "German", "English"],
}
)
print("Countries DataFrame:")
print(countries_df, "\n")
capitals = ["Kathmandu", "Zurich", "Berlin", "Ottawa"]
countries_df.insert(2, "Capital", capitals)
print("Countries DataFrame after inserting Capital column:")
print(countries_df)
Resultado:
Countries DataFrame:
Country Continent Primary Language
0 Nepal Asia Nepali
1 Switzerland Europe French
2 Germany Europe German
3 Canada North America English
Countries DataFrame after inserting Capital column:
Country Continent Capital Primary Language
0 Nepal Asia Kathmandu Nepali
1 Switzerland Europe Zurich French
2 Germany Europe Berlin German
3 Canada North America Ottawa English
Inserta la columna Capital
en el DataFrame countries_df
en la posición 2
con los valores especificados de cada fila para la columna Capital
en el DataFrame.
Establecer allow_duplicates = True
en el método insert()
para añadir una columna ya existente
import pandas as pd
countries_df = pd.DataFrame(
{
"Country": ["Nepal", "Switzerland", "Germany", "Canada"],
"Continent": ["Asia", "Europe", "Europe", "North America"],
"Primary Language": ["Nepali", "French", "German", "English"],
"Capital": ["Kathmandu", "Zurich", "Berlin", "Ottawa"],
}
)
print("Countries DataFrame:")
print(countries_df, "\n")
capitals = ["Kathmandu", "Zurich", "Berlin", "Ottawa"]
countries_df.insert(4, "Capital", capitals, allow_duplicates=True)
print("Countries DataFrame after inserting Capital column:")
print(countries_df)
Resultado:
Countries DataFrame:
Country Continent Primary Language Capital
0 Nepal Asia Nepali Kathmandu
1 Switzerland Europe French Zurich
2 Germany Europe German Berlin
3 Canada North America English Ottawa
Countries DataFrame after inserting Capital column:
Country Continent Primary Language Capital Capital
0 Nepal Asia Nepali Kathmandu Kathmandu
1 Switzerland Europe French Zurich Zurich
2 Germany Europe German Berlin Berlin
3 Canada North America English Ottawa Ottawa
Añade la columna Capital
al DataFrame countries_df
aunque la columna Capital
ya existe en el DataFrame countries_df
.
Si intentamos insertar la columna que ya existe en el DataFrame sin establecer allow_duplicates = True
en el método insert()
, nos dará un error con el mensaje ValueError: cannot insert column, already exists
.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedInArtículo relacionado - Pandas DataFrame Column
- Cómo obtener las cabeceras de columna de Pandas DataFrame como una lista
- Cómo borrar la columna de Pandas DataFrame
- Cómo convertir la columna del DataFrame a Datetime en Pandas
- Cómo obtener la suma de la columna de Pandas
- Cómo cambiar el orden de las columnas Pandas DataFrame
- Cómo convertir la columna del DataFrame en cadena en los pandas