Pandas DataFrame をコピーする
Suraj Joshi
2023年1月30日
-
pandas.DataFrame.copy()
メソッドの構文 -
pandas.DataFrame.copy()
メソッドを使って Pandas の DataFrame をコピーする - 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
の 1 行目の 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_df
の Cost
カラムのコピーを copy_cost
として作成します。
著者: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn