pandasのDataFrame型における列の抽出方法としてloc,ilocを記載する。
Udemy >> 現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイルまとめ
# 列名を指定して列を抽出
DataFrame型.loc[:,[カンマ区切りで列名を指定]]
# 列の位置を指定して列を抽出
DataFrame型.iloc[:,[カンマ区切りで位置を指定]]
列名を指定して列の抽出
書き方
以下のようにlocを使って列名をリスト型で指定する。
DataFrame型.loc[:,[カンマ区切りで列名を指定]]
サンプルコード
# サンプル
import pandas as pd
list_data = [[1, 'apple', 100],[2, 'orange', 30],[3, 'lemon', 50]]
df_list = pd.DataFrame(list_data, columns=["id","product","price"])
print(df_list.loc[:,["id","product"]])
## 出力
# id product
# 0 1 apple
# 1 2 orange
# 2 3 lemon
列の位置を指定して列の抽出
書き方
リスト型やNumpy型のように列名の位置でも指定できる。locではなく、ilocなので注意。
DataFrame型.iloc[:,[カンマ区切りで位置を指定]]
サンプルコード
# サンプル
import pandas as pd
list_data = [[1, 'apple', 100],[2, 'orange', 30],[3, 'lemon', 50]]
df_list = pd.DataFrame(list_data, columns=["id","product","price"])
## 任意の位置で指定
print(df_list.iloc[:,[0,1]])
## 出力
# id product
# 0 1 apple
# 1 2 orange
# 2 3 lemon
## 末尾から指定
print(df_list.iloc[:,[-1,-2]])
## 出力
# price product
# 0 100 apple
# 1 30 orange
# 2 50 lemon
まとめ
# 列名を指定して列を抽出
DataFrame型.loc[:,[カンマ区切りで列名を指定]]
# 列の位置を指定して列を抽出
DataFrame型.iloc[:,[カンマ区切りで位置を指定]]