Python 3でpandas DataFrameを部分文字列の条件でフィルタリングする方法
Pythonのデータ処理ライブラリであるpandasを使用すると、DataFrameを特定の条件でフィルタリングすることが簡単にできます。部分文字列の条件でDataFrameをフィルタリングする方法について説明します。
1. 特定の列に部分文字列を含む行を抽出する
まず、特定の列に部分文字列を含む行を抽出する方法を見てみましょう。
import pandas as pd # サンプルデータを作成 data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'], 'Age': [25, 30, 35, 40]} df = pd.DataFrame(data) # 'Name'列に部分文字列'ice'を含む行を抽出 filtered_df = df[df['Name'].str.contains('ice')] print(filtered_df)
上記のコードを実行すると、’Name’列に部分文字列’ice’を含む行のDataFrameが抽出されます。
2. 複数の列に部分文字列を含む行を抽出する
複数の列に部分文字列を含む行を抽出する場合は、論理演算子を使用して条件を組み合わせることができます。
# 'Name'列と'Age'列の両方に部分文字列'ar'を含む行を抽出 filtered_df = df[df['Name'].str.contains('ar') & df['Age'].astype(str).str.contains('3')] print(filtered_df)
上記のコードでは、’Name’列と’Age’列の両方に部分文字列’ar’と’3’を含む行が抽出されます。
3. 大文字小文字を区別せずに部分文字列を含む行を抽出する
大文字小文字を区別せずに部分文字列を含む行を抽出する場合は、str.contains()メソッドの引数にcase=Falseを指定します。
# 大文字小文字を区別せずに'Name'列に部分文字列'ob'を含む行を抽出 filtered_df = df[df['Name'].str.contains('ob', case=False)] print(filtered_df)
上記のコードを実行すると、’Name’列に部分文字列’ob’を含む行が大文字小文字を区別せずに抽出されます。
以上がPython 3でpandas DataFrameを部分文字列の条件でフィルタリングする方法についての説明です。これらの方法を活用して、データの効率的なフィルタリングを行うことができます。
Python 3のpandasライブラリを使用して、DataFrame内のデータを部分文字列の条件でフィルタリングする方法について説明します。DataFrameは表形式のデータ構造であり、pandasライブラリを使用することで効率的にデータを操作できます。
部分文字列の条件でDataFrameをフィルタリングするには、str.contains()メソッドを使用します。このメソッドを使うと、指定した部分文字列が列内の各要素に含まれているかどうかを確認できます。
例えば、以下のコードを使用して、DataFrame内の特定の列(例えば、’column_name’)に特定の部分文字列(例えば、’keyword’)が含まれている行をフィルタリングできます。
“`python
filtered_df = df[df[‘column_name’].str.contains(‘keyword’)]
“`このコードを実行すると、’column_name’列内に’keyword’を含む行だけが残った新しいDataFrameが作成されます。部分文字列の条件でデータをフィルタリングすることで、必要な情報を素早く取得できます。