pandasのDataFrame型でのlocを使った特定列の抽出方法を記載する。
この記事を読んでわかること
- Pandasでの特定列の取得ができる。
- Dataframe.locの使い方がわかる。
先にまとめ
※pd = pandas、df=DataFrame型のデータ
やりたいこと | コード | 備考 |
---|---|---|
特定の列の抽出(1列) | df.loc[ : , ‘列名’ ] | 列名をそのまま指定する (返り値はSeries型) |
特定の列の抽出(1列) | df.loc[ : , [ ‘列名’ ] ] | 列名をリストで指定する (返り値はDataFrame型) |
特定の列の抽出(複数列) | df.loc[ : , [ ‘列名1’, ‘列名2’, … ] ] | 列名をリストで複数指定する (返り値はDataFrame型) |
↓Udemyもおすすめ。
【Udemy】Python 3.8マスター講座!!0から文法、標準ライブラリ、numpy, pandas, SQLAlchemy特定列の取得(.loc)
以降のサンプルコードについて、以下のコード実行を前提とする。
import pandas as pd
data_dict = {"Name" : ["Apple","Orange","Lemon"], "Price" : [100,40,90], "Amount" : [5,2,3]}
df = pd.DataFrame(data_dict)
以下のようなデータを使用する。
df
Name | Price | Amount | |
0 | Apple | 100 | 5 |
1 | Orange | 40 | 2 |
2 | Lemon | 90 | 3 |
特定の列の抽出(1列)
列名を指定することで取得可能。文字列で指定するとSeries型、リストで指定するとDataframe型が返される。
①Dataframe型.loc[ : , '列名' ] # Series型
②Dataframe型.loc[ : , ['列名'] ] # Dataframe型
サンプルコード①
df_price = df.loc[ : , 'Price' ] # Price列を取得
<イメージ>
df.loc[ : , ‘Price’ ]
0 | 100 |
1 | 40 |
2 | 90 |
<出力結果>
>>> print(type(df_price))
<class 'pandas.core.series.Series'>
>>> print(df_price)
0 100
1 40
2 90
Name: Price, dtype: int64
サンプルコード②
df_price = df.loc[ : , ['Price'] ] # Price列を取得
<イメージ>
df.loc[ : , [‘Price’] ]
Price | |
0 | 100 |
1 | 40 |
2 | 90 |
<出力結果>
>>> print(type(df_price))
<class 'pandas.core.frame.DataFrame'>
>>> print(df_price)
Price
0 100
1 40
2 90
↓Udemyもおすすめ。
【Udemy】データ分析シリーズ? -Pythonライブラリの実践活用-
特定の列の抽出(複数列)
リストで列名を複数指定することで取得可能。リストで指定するとDataframe型が返される
Dataframe型.loc[ : , ['列名1', '列名2', ...] ] # Dataframe型
サンプルコード
df_price_amount = df.loc[ : , ['Price','Amount'] ] # Price列、Amount列を取得
<イメージ>
df.loc[ : , [‘Price’,’Amount’] ]
Price | Amount | |
0 | 100 | 5 |
1 | 40 | 2 |
2 | 90 | 3 |
<出力結果>
>>> print(type(df_price_amount))
<class 'pandas.core.frame.DataFrame'>
>>> print(df_price_amount)
Price Amount
0 100 5
1 40 2
2 90 3
↓Udemyもおすすめ。
【世界で37万人が受講】データサイエンティストを目指すあなたへ〜データサイエンス25時間ブートキャンプ〜参考
Pandas公式サイト:pandas.DataFrame.loc
pandas.DataFrame.loc — pandas 2.2.2 documentation