Pandas の行をドロップ
Suraj Joshi
2023年1月30日
このチュートリアルでは、pandas.DataFrame.drop()
メソッドを使って Pandas の行をドロップする方法を説明します。
import pandas as pd
kgp_df = pd.DataFrame(
{
"Name": ["Himansh", "Prateek", "Abhishek", "Vidit", "Anupam"],
"Age": [30, 33, 35, 30, 30],
"Weight(KG)": [75, 75, 80, 70, 73],
}
)
print("The KGP DataFrame is:")
print(kgp_df)
出力:
The KGP DataFrame is:
Name Age Weight(KG)
0 Himansh 30 75
1 Prateek 33 75
2 Abhishek 35 80
3 Vidit 30 70
4 Anupam 30 73
kgp_df
DataFrame を使用して、Pandas DataFrame から行を削除する方法を説明します。
pandas.DataFrame.drop()
メソッドでインデックスを指定して行をドロップする
import pandas as pd
kgp_df = pd.DataFrame(
{
"Name": ["Himansh", "Prateek", "Abhishek", "Vidit", "Anupam"],
"Age": [30, 33, 35, 30, 30],
"Weight(KG)": [75, 75, 80, 70, 73],
}
)
rows_dropped_df = kgp_df.drop(kgp_df.index[[0, 2]])
print("The KGP DataFrame is:")
print(kgp_df, "\n")
print("The KGP DataFrame after dropping 1st and 3rd DataFrame is:")
print(rows_dropped_df)
出力:
The KGP DataFrame is:
Name Age Weight(KG)
0 Himansh 30 75
1 Prateek 33 75
2 Abhishek 35 80
3 Vidit 30 70
4 Anupam 30 73
The KGP DataFrame after dropping 1st and 3rd DataFrame is:
Name Age Weight(KG)
1 Prateek 33 75
3 Vidit 30 70
4 Anupam 30 73
インデックス 0 と 2 の行を kgp_df
DataFrame から削除します。インデックスが 0 から始まるので、インデックス 0 と 2 の行は DataFrame の 1 行目と 3 行目に対応します。
デフォルトのインデックスを使用する代わりに、DataFrame のインデックスを使用して行を削除することもできます。
import pandas as pd
kgp_idx = ["A", "B", "C", "D", "E"]
kgp_df = pd.DataFrame(
{
"Name": ["Himansh", "Prateek", "Abhishek", "Vidit", "Anupam"],
"Age": [30, 33, 35, 30, 30],
"Weight(KG)": [75, 75, 80, 70, 73],
},
index=kgp_idx,
)
rows_dropped_df = kgp_df.drop(["A", "C"])
print("The KGP DataFrame is:")
print(kgp_df, "\n")
print("The KGP DataFrame after dropping 1st and 3rd DataFrame is:")
print(rows_dropped_df)
出力:
The KGP DataFrame is:
Name Age Weight(KG)
A Himansh 30 75
B Prateek 33 75
C Abhishek 35 80
D Vidit 30 70
E Anupam 30 73
The KGP DataFrame after dropping 1st and 3rd DataFrame is:
Name Age Weight(KG)
B Prateek 33 75
D Vidit 30 70
E Anupam 30 73
インデックス A
と C
の行、または DataFrame の 1 行目と 3 行目を削除します。
削除する行のインデックスのリストを drop()
メソッドに渡して、それぞれの行を削除します。
Pandas DataFrame の特定の列の値に応じて行を削除する
import pandas as pd
kgp_idx = ["A", "B", "C", "D", "E"]
kgp_df = pd.DataFrame(
{
"Name": ["Himansh", "Prateek", "Abhishek", "Vidit", "Anupam"],
"Age": [31, 33, 35, 36, 34],
"Weight(KG)": [75, 75, 80, 70, 73],
},
index=kgp_idx,
)
young_df_idx = kgp_df[kgp_df["Age"] <= 33].index
young_folks = kgp_df.drop(young_df_idx)
print("The KGP DataFrame is:")
print(kgp_df, "\n")
print("The DataFrame of folks with age less than or equal to 33 are:")
print(young_folks)
出力:
The KGP DataFrame is:
Name Age Weight(KG)
A Himansh 31 75
B Prateek 33 75
C Abhishek 35 80
D Vidit 36 70
E Anupam 34 73
The DataFrame of folks with age less than or equal to 33 are:
Name Age Weight(KG)
C Abhishek 35 80
D Vidit 36 70
E Anupam 34 73
年齢が 33 歳以下のすべての行を削除します。
まず、年齢が 33 歳以下のすべての行のインデックスを見つけ、drop()
メソッドを使って行を削除します。
著者: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn