Python
 Computer >> コンピューター >  >> プログラミング >> Python

【Python・pandas】filter()メソッドでDataFrameの列サブセットを作成する方法

pandasのfilter()メソッドを使うと、DataFrameから必要な列だけを抜き出したサブセットを簡単に作成できます。さらに、like引数を指定すれば、共通のパターンを持つ列名をまとめて抽出することも可能です。

まずは、3つの列を持つDataFrameを作成してみましょう。

dataFrame = pd.DataFrame({
    "Product": ["SmartTV", "ChromeCast", "Speaker", "Earphone"],
    "Opening_Stock": [300, 700, 1200, 1500],
    "Closing_Stock": [200, 500, 1000, 900]
})

複数の列でサブセットを作成する

インデックス演算子 [[]] に列名のリストを渡すと、複数の列を同時に選択できます。

dataFrame[['Opening_Stock', 'Closing_Stock']]

パターンが一致する列名でサブセットを作成する

filter()like 引数に文字列を指定すると、その文字列を含む列名だけが抽出されます。なお、filter() には正規表現で列を絞り込める regex 引数も用意されているため、より柔軟な列選択にも対応できます。

dataFrame.filter(like='Open')

完全なコード例

以下が全体のコードです。

import pandas as pd

dataFrame = pd.DataFrame({
    "Product": ["SmartTV", "ChromeCast", "Speaker", "Earphone"],
    "Opening_Stock": [300, 700, 1200, 1500],
    "Closing_Stock": [200, 500, 1000, 900]
})

print("DataFrame...\n", dataFrame)

print("\nDisplaying a subset using indexing operator:\n", dataFrame[['Product']])

print("\nDisplaying a subset with multiple columns:\n", dataFrame[['Opening_Stock', 'Closing_Stock']])

print("\nDisplaying a subset with similarly patterned names:\n", dataFrame.filter(like='Open'))

実行結果

このコードを実行すると、次のような出力が得られます。

DataFrame...
   Closing_Stock  Opening_Stock     Product
0            200            300     SmartTV
1            500            700  ChromeCast
2           1000           1200     Speaker
3            900           1500    Earphone

Displaying a subset using indexing operator:
       Product
0     SmartTV
1  ChromeCast
2      Speaker
3     Earphone

Displaying a subset with multiple columns:
   Opening_Stock  Closing_Stock
0            300            200
1            700            500
2           1200           1000
3           1500            900

Displaying a subset with similarly patterned names:
   Opening_Stock
0            300
1            700
2           1200
3           1500
  1. Pythonとtkinterでストップウォッチを作成する方法【サンプルコード付き】

    ストップウォッチは、ある出来事から次の出来事までの時間間隔を測定するための道具で、一般的に数秒〜数分程度の計測に使用されます。スポーツのタイム計測をはじめ、産業現場で熱流量や電流の変化を測るなど、幅広い場面で活用されています。 Pythonでは標準ライブラリのtkinterを使えば、GUIを備えたストップウォッチを簡単に自作できます。本記事で紹介するのは、スタート(Start)・ストップ(Stop)・リセット(Reset)の3つの操作ボタンを備えたウィンドウアプリケーションです。 ポイントは「after()」メソッド このプログラムの核となるのが、tkinterのウィジェットが持つafter

  2. PythonでWordCloud(ワードクラウド)を作成する方法

    このチュートリアルでは、テキストファイルとマスク画像を用意し、そこからワードクラウド(Word Cloud)を生成して png 形式の画像として保存するプログラムをPythonで作成します。 この処理を実装するには、以下のPythonライブラリが必要です。 ・matplotlib ・wordcloud ・numpy ・tkinter ・PIL ライブラリのセットアップ まず、必要なライブラリを次のコマンドでインストールします。 $ sudo pip3 install matplotlib $ sudo pip3 install wordcloud $ sudo apt-get install