Pandas 복사 DataFrame

Suraj Joshi 2023년1월30일
  1. pandas.DataFrame.copy()메서드 구문
  2. pandas.DataFrame.copy()메서드를 사용하여 Pandas DataFrame 복사
  3. DataFrame을 변수에 할당하여 Pandas DataFrame 복사
Pandas 복사 DataFrame

이 튜토리얼에서는DataFrame.copy()메소드를 사용하여 DataFrame 객체를 복사하는 방법을 소개합니다.

import pandas as pd

items_df = pd.DataFrame(
    {
        "Id": [302, 504, 708],
        "Cost": ["300", "400", "350"],
    }
)

print(items_df)

출력:

    Id Cost
0  302  300
1  504  400
2  708  350 

위의 예제를 사용하여 Pandas에서DataFrame.copy()메서드를 사용하는 방법을 보여줍니다.

pandas.DataFrame.copy()메서드 구문

DataFrame.copy(deep=True)

DataFrame의 복사본을 반환합니다. deep은 기본적으로 True로, 복사본에서 변경된 사항이 원본 DataFrame에 반영되지 않음을 의미합니다. 그러나deep=False를 설정하면 복사본의 변경 사항이 원본 DataFrame에도 반영됩니다.

pandas.DataFrame.copy()메서드를 사용하여 Pandas DataFrame 복사

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")

출력:

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 

DataFrame items_df의 사본을deep_copy로 생성합니다. 사본deep_copy의 값을 변경하면 원래 DataFrame items_df에는 변경 사항이 없습니다. deep_copy에서 첫 번째 행의 Cost열 값을 NaN으로 설정했지만 items_df는 수정되지 않은 상태로 유지됩니다.

DataFrame을 변수에 할당하여 Pandas DataFrame 복사

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")

출력:

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 

DataFrame items_dfCost 열 사본을copy_cost로 생성합니다.

작가: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn

관련 문장 - Pandas DataFrame