Pandas 列を選択する
-
Pandas は
loc
プロパティを使用して 1 列を除くすべての列を選択する -
Pandas は
drop()
メソッドを用いて 1つの列以外をすべて選択する -
Pandas の
difference()
メソッドを用いて 1 列を除くすべての列を選択する
このチュートリアルでは、特定の DataFrame から 1つを除くすべての列を選択する方法を説明します。この記事では、以下の DataFrame の例を使用します。
import pandas as pd
stocks_df = pd.DataFrame(
{
"Stock": ["Amazon", "Tesla", "Facebook", "Boeing"],
"Price(in $)": [3180, 835, 267, 209],
"Sector": ["Technology", "Technology", "Technology", "Aircraft"],
}
)
print("Stocks Dataframe:")
print(stocks_df, "\n")
出力:
Stocks Dataframe:
Stock Price(in $) Sector
0 Amazon 3180 Technology
1 Tesla 835 Technology
2 Facebook 267 Technology
3 Boeing 209 Aircraft
Pandas は loc
プロパティを使用して 1 列を除くすべての列を選択する
import pandas as pd
stocks_df = pd.DataFrame(
{
"Stock": ["Amazon", "Tesla", "Facebook", "Boeing"],
"Price(in $)": [3180, 835, 267, 209],
"Sector": ["Technology", "Technology", "Technology", "Aircraft"],
}
)
print("Stocks Dataframe:")
print(stocks_df, "\n")
print("Stocks DataFrame excluding Sector Column:")
filtered_df = stocks_df.loc[:, stocks_df.columns != "Sector"]
print(filtered_df, "\n")
出力:
Stocks Dataframe:
Stock Price(in $) Sector
0 Amazon 3180 Technology
1 Tesla 835 Technology
2 Facebook 267 Technology
3 Boeing 209 Aircraft
Stocks DataFrame excluding Sector Column:
Stock Price(in $)
0 Amazon 3180
1 Tesla 835
2 Facebook 267
3 Boeing 209
stocks_df
DataFrame から Sector
列を除くすべての要素を選択し、その結果を filtered_df
に代入し、filetered_df
の内容を表示します。
loc
プロパティは指定した行と列に基づいて要素を選択します。loc
プロパティの ,
前の :
記号は、すべての行を選択する必要があることを示しています。列については、名前が Sector
以外の列のみを選択するように指定しています。つまり、Sector
カラム以外のすべてのカラムを選択することになります。
Pandas は drop()
メソッドを用いて 1つの列以外をすべて選択する
メソッドに axis=1
を設定することで、drop()
メソッドを用いて指定した列を DataFrame から削除することができます。
import pandas as pd
stocks_df = pd.DataFrame(
{
"Stock": ["Amazon", "Tesla", "Facebook", "Boeing"],
"Price(in $)": [3180, 835, 267, 209],
"Sector": ["Technology", "Technology", "Technology", "Aircraft"],
}
)
print("Stocks Dataframe:")
print(stocks_df, "\n")
print("Stocks DataFrame excluding Sector Column:")
filtered_df = stocks_df.drop("Sector", axis=1)
print(filtered_df, "\n")
出力:
Stocks Dataframe:
Stock Price(in $) Sector
0 Amazon 3180 Technology
1 Tesla 835 Technology
2 Facebook 267 Technology
3 Boeing 209 Aircraft
Stocks DataFrame excluding Sector Column:
Stock Price(in $)
0 Amazon 3180
1 Tesla 835
2 Facebook 267
3 Boeing 209
stocks_df
の DataFrame から Sector
カラムを削除し、その結果を filtered_df
に代入します。
また、drop()
メソッドを用いて複数のカラムを削除することで、複数のカラムを DataFrame から除外することもできます。drop()
メソッドの引数として、削除するカラム名のリストを指定します。
import pandas as pd
stocks_df = pd.DataFrame(
{
"Stock": ["Amazon", "Tesla", "Facebook", "Boeing"],
"Price(in $)": [3180, 835, 267, 209],
"Sector": ["Technology", "Technology", "Technology", "Aircraft"],
}
)
print("Stocks Dataframe:")
print(stocks_df, "\n")
print("Stocks DataFrame excluding Sector and Price Column:")
filtered_df = stocks_df.drop(["Sector", "Price(in $)"], axis=1)
print(filtered_df, "\n")
出力:
Stocks Dataframe:
Stock Price(in $) Sector
0 Amazon 3180 Technology
1 Tesla 835 Technology
2 Facebook 267 Technology
3 Boeing 209 Aircraft
Stocks DataFrame excluding Sector and Price Column:
Stock
0 Amazon
1 Tesla
2 Facebook
3 Boeing
これは、stocks_df
DataFrame から Price(in $)
と Sector
の列を除外します。
Pandas の difference()
メソッドを用いて 1 列を除くすべての列を選択する
import pandas as pd
stocks_df = pd.DataFrame(
{
"Stock": ["Amazon", "Tesla", "Facebook", "Boeing"],
"Price(in $)": [3180, 835, 267, 209],
"Sector": ["Technology", "Technology", "Technology", "Aircraft"],
}
)
print("Stocks Dataframe:")
print(stocks_df, "\n")
print("Stocks DataFrame excluding Sector Column:")
filtered_df = stocks_df[stocks_df.columns.difference(["Sector"])]
print(filtered_df, "\n")
出力:
Stocks Dataframe:
Stock Price(in $) Sector
0 Amazon 3180 Technology
1 Tesla 835 Technology
2 Facebook 267 Technology
3 Boeing 209 Aircraft
Stocks DataFrame excluding Sector Column:
Price(in $) Stock
0 3180 Amazon
1 835 Tesla
2 267 Facebook
3 209 Boeing
stocks_df
DataFrame から Sector
カラムを削除し、その結果を filtered_df
に割り当てます。
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn関連記事 - Pandas DataFrame Column
- Pandas DataFrame の列ヘッダーをリストとして取得する方法
- Pandas DataFrame 列を削除する方法
- Pandas で DataFrame 列を日時に変換する方法
- Pandas 列の合計を取得する方法
- Pandas DataFrame 列の順序を変更する方法
- Pandas で DataFrame 列を文字列に変換する方法