[pandas]DataFrameで列の抽出(loc,iloc)

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

Udemy >> Streamlit, Pandas, Pythonで学ぶ!データ分析の基礎とインタラクティブダッシュボード作成入門

列の位置を指定して列の抽出

書き方

リスト型や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[:,[カンマ区切りで位置を指定]]

Udemy >> 【世界で37万人が受講】データサイエンティストを目指すあなたへ〜データサイエンス25時間ブートキャンプ〜