HOWTO · Pandas
Pandas Copiar DataFrame
Este tutorial introducirá cómo podemos hacer una copia de un objeto DataFrame utilizando el método DataFrame.copy() y exploraremos el uso del método DataFrame.copy().
En esta página
Este tutorial introducirá cómo podemos copiar un objeto DataFrame utilizando el método DataFrame.copy().
import pandas as pd
items_df = pd.DataFrame(
{
"Id": [302, 504, 708],
"Cost": ["300", "400", "350"],
}
)
print(items_df)
Resultado:
Id Cost
0 302 300
1 504 400
2 708 350
Utilizaremos el ejemplo anterior para demostrar el uso del método DataFrame.copy() en Pandas.
Sintaxis del método pandas.DataFrame.copy()
DataFrame.copy(deep=True)
Devuelve una copia del DataFrame. El método deep es por defecto True, lo que significa que cualquier cambio realizado en la copia no se reflejará en el DataFrame original. Sin embargo, si establecemos deep=False, cualquier cambio realizado en la copia se reflejará también en el DataFrame original.
Copiar un DataFrame de Pandas utilizando el método pandas.DataFrame.copy()
import pandas as pd
import numpy as np
items_df = pd.DataFrame(
{
"Id": [302, 504, 708],
"Cost": ["300", "400", "350"],
}
)
deep_copy = items_df.copy()
print("Original DataFrame before changing value in copy DataFrame:")
print(items_df, "\n")
print("Copy DataFrame before changing value in copy DataFrame:")
print(deep_copy, "\n")
deep_copy.loc[0, "Cost"] = np.nan
print("Original DataFrame after changing value in copy DataFrame:")
print(items_df, "\n")
print("Copy DataFrame after changing value in copy DataFrame:")
print(deep_copy, "\n")
Producción :
Original DataFrame before changing value in copy DataFrame:
Id Cost
0 302 300
1 504 400
2 708 350
Copy DataFrame before changing value in copy DataFrame:
Id Cost
0 302 300
1 504 400
2 708 350
Original DataFrame after changing value in copy DataFrame:
Id Cost
0 302 300
1 504 400
2 708 350
Copy DataFrame after changing value in copy DataFrame:
Id Cost
0 302 NaN
1 504 400
2 708 350
Crea una copia del DataFrame items_df como deep_copy. Si cambiamos algún valor de la copia deep_copy, no hay cambios en el DataFrame original items_df. Establecemos el valor de la columna Cost de la primera fila a NaN en deep_copy pero items_df se mantiene sin modificar.
Copiar el DataFrame de Pandas asignando el DataFrame a una variable
import pandas as pd
import numpy as np
items_df = pd.DataFrame(
{
"Id": [302, 504, 708],
"Cost": ["300", "400", "350"],
}
)
copy_cost = items_df["Cost"]
print("Cost column of Original DataFrame before changing value in copy DataFrame:")
print(items_df, "\n")
print("Cost column of Copied DataFrame before changing value in copy DataFrame:")
print(copy_cost, "\n")
copy_cost[0] = np.nan
print("Cost column of Original DataFrame after changing value in copy DataFrame:")
print(copy_cost, "\n")
print("Cost column of Copied DataFrame after changing value in copy DataFrame:")
print(copy_cost, "\n")
Resultado:
Cost column of Original DataFrame before changing value in copy DataFrame:
Id Cost
0 302 300
1 504 400
2 708 350
Cost column of Copied DataFrame before changing value in copy DataFrame:
0 300
1 400
2 350
Name: Cost, dtype: object
Cost column of Original DataFrame after changing value in copy DataFrame:
0 NaN
1 400
2 350
Name: Cost, dtype: object
Cost column of Copied DataFrame after changing value in copy DataFrame:
0 NaN
1 400
2 350
Name: Cost, dtype: object
Se crea una copia de la columna Cost del DataFrame items_df como copy_cost.