Pandas Copiar DataFrame

Suraj Joshi 30 enero 2023
  1. Sintaxis del método pandas.DataFrame.copy()
  2. Copiar un DataFrame de Pandas utilizando el método pandas.DataFrame.copy()
  3. Copiar el DataFrame de Pandas asignando el DataFrame a una variable
Pandas Copiar DataFrame

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.

Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Artículo relacionado - Pandas DataFrame