Pandas DataFrame のフィルターメソッド

PythonPythonBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Pandas の DataFrame で filter() メソッドを使用する方法を学びます。filter() メソッドを使用すると、指定されたインデックスラベルに基づいて DataFrame の行または列をサブセット化することができます。このメソッドは、DataFrame の内容ではなく、インデックスのラベルに基づいて DataFrame をフィルタリングすることに注意してください。

VM のヒント

VM の起動が完了したら、左上隅をクリックして Notebook タブに切り替え、Jupyter Notebook を開いて練習を行ってください。

場合によっては、Jupyter Notebook の読み込みが完了するまで数秒待つ必要があることがあります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。

学習中に問題が発生した場合は、いつでも Labby に質問してください。セッション終了後にフィードバックを提供していただければ、迅速に問題を解決します。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/AdvancedTopicsGroup(["Advanced Topics"]) python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) pandas(("Pandas")) -.-> pandas/DataSelectionGroup(["Data Selection"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) pandas/DataSelectionGroup -.-> pandas/select_columns("Select Columns") pandas/DataSelectionGroup -.-> pandas/select_rows("Select Rows") pandas/DataSelectionGroup -.-> pandas/slicing("Slicing") python/DataStructuresGroup -.-> python/lists("Lists") python/ModulesandPackagesGroup -.-> python/using_packages("Using Packages") python/AdvancedTopicsGroup -.-> python/regular_expressions("Regular Expressions") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") python/PythonStandardLibraryGroup -.-> python/data_serialization("Data Serialization") python/DataScienceandMachineLearningGroup -.-> python/data_analysis("Data Analysis") subgraph Lab Skills pandas/select_columns -.-> lab-68622{{"Pandas DataFrame のフィルターメソッド"}} pandas/select_rows -.-> lab-68622{{"Pandas DataFrame のフィルターメソッド"}} pandas/slicing -.-> lab-68622{{"Pandas DataFrame のフィルターメソッド"}} python/lists -.-> lab-68622{{"Pandas DataFrame のフィルターメソッド"}} python/using_packages -.-> lab-68622{{"Pandas DataFrame のフィルターメソッド"}} python/regular_expressions -.-> lab-68622{{"Pandas DataFrame のフィルターメソッド"}} python/data_collections -.-> lab-68622{{"Pandas DataFrame のフィルターメソッド"}} python/data_serialization -.-> lab-68622{{"Pandas DataFrame のフィルターメソッド"}} python/data_analysis -.-> lab-68622{{"Pandas DataFrame のフィルターメソッド"}} end

DataFrame の作成

まず、操作対象となるサンプルの DataFrame を作成しましょう。

#import pandas as pd
import pandas as pd

#creating DataFrame
df=pd.DataFrame({
    "Name":["Navya","Vindya","Sinchana","Amrutha","Akshatha"],
    "Age":[25,24,25,25,26],
    "Education":["M.Tech","M.Tech","M.Tech","Ph.d","Ph.d"],
    "YOP":[2019,2020,2018,None,None]},
    index=["Group_1", "Group_1","Group_1","Group_2","Group_2"])

#printing DataFrame
print("-------DataFrame is----------")
print(df)

filter() メソッドを使用した列名によるフィルタリング

filter() メソッドの items パラメータを使用して、特定の列で DataFrame をフィルタリングすることができます。

#filter by column names
filtered_df = df.filter(items=["Name","Education"])

#printing filtered DataFrame
print("---------Filtered DataFrame---------")
print(filtered_df)

filter() メソッドを使用した行名によるフィルタリング

filter() メソッドの like パラメータを使用して、特定の行で DataFrame をフィルタリングすることができます。

#filter by row names
filtered_df = df.filter(like='Group_2', axis=0)

#printing filtered DataFrame
print("---------Filtered DataFrame---------")
print(filtered_df)

regex パラメータを使用した列名によるフィルタリング

filter() メソッドの regex パラメータを使用して、正規表現に基づいて特定の列で DataFrame をフィルタリングすることができます。

#filter by column names with regex
filtered_df = df.filter(regex ='[g]')

#printing filtered DataFrame
print("---------Filtered DataFrame---------")
print(filtered_df)

まとめ

この実験では、Pandas の DataFrame で filter() メソッドを使用する方法を学びました。列名や行名で DataFrame をフィルタリングする方法、および正規表現に基づいてフィルタリングする方法を説明しました。このメソッドは、特定のインデックスラベルに基づいて DataFrame をサブセット化するのに便利です。