テクノロジー 開発 非公開: Python でリストをフィルタリングしてデータを最大限に活用する方法

Python でリストをフィルタリングしてデータを最大限に活用する方法

Python では、連続したデータまたは順序付けされたデータを保存する最も一般的な方法の 1 つは、リストを使用することです。 Python のリストは、データのコレクションを格納するために使用される、順序付けされた変更可能な組み込みデータ構造です。リストに保存される項目には 0 から始まるインデックスが付けられ、ユーザーはリストの作成後にリストの内容を変更できます。

リスト内の項目にはインデックスが付けられているため、リスト内に重複した項目を保存できます。 Python のリストには、さまざまなデータ型の要素を含めることもできます。リスト内の項目はカンマで区切られ、角括弧で囲まれます。

チェックリスト-3693113
チェックリスト-3693113

Python のリストの例を次に示します。

 # A list containing one data type - String
colors = ['Red', 'Orange', 'Yellow', 'Green', 'Blue', 'Indigo', 'Violet']

# A list containing multiple data types
movies = ['Transformers', 2012, 'Avengers', 300]

# A list with duplicate values
users = ['John', 'Mary', 'Elizabeth', 'John']

リストは非常に汎用性の高いデータ構造であり、リストに格納されたデータに対して多くの操作を実行できます。リストに対して実行される一般的で便利な操作の 1 つは、リストに格納されているデータのフィルタリングです。

Python でリストをフィルタリングしてデータを最大限に活用する方法
Python でリストをフィルタリングしてデータを最大限に活用する方法

リストのフィルタリングが重要な理由

リストのフィルタリングとは、指定された基準を満たすデータの特定のサブセットを抽出することを意味します。たとえば、1 から 10 までの数字を含むリスト内の偶数のみに興味がある場合があります。リストからそのようなデータを抽出するには、リストをフィルターして、正確に 2 で割り切れる数字を取得するだけです。

リストのフィルタリングが重要な理由
リストのフィルタリングが重要な理由

フィルタリングは、リストから不要な項目を削除したり、指定された基準を満たす項目を含む新しいリストを作成したり、特定の条件を満たすデータを抽出したりできるため、データ操作やデータ分析に特に役立ちます。

フィルタリング リストの実際のアプリケーションには次のようなものがあります。

  • データ検証 – リストを操作する場合、指定された基準を満たすデータのみを操作したい場合があります。たとえば、ユーザーのリストでは、姓と名の両方を持つユーザーに興味があるかもしれません。フィルタリングを使用すると、リスト内のデータを処理する前に検証および検証できます。こうすることで、要件を満たさないデータの操作を回避できます。
  • データ クリーニング – リストにはさまざまな種類のデータを保存できるため、興味のない不要なデータがリストに含まれていることは珍しくありません。たとえば、名前が含まれるリストでは、リスト内の数値には興味がないかもしれません。リスト。フィルタリングにより、不要なデータを削除できます。
  • データ分析 – データのフィルタリングは、データの特定のサブセットに焦点を当てることができ、パターンや傾向を簡単に特定できるため、データ分析に特に役立ちます。たとえば、学生のリストから男子学生と女子学生を除外し、その結果をデータ分析に使用できます。年齢や地域、学年などで絞り込むこともできます。これにより、リスト内のデータの特定のサブセットからより有用な結論を引き出すことができます。

リストのフィルタリングは、リストに保存されているデータを制御できるため、関心のあるデータのみを操作できるため、非常に便利な機能です。

リストに保存されているデータの特定のサブセットをターゲットにすることは、データ処理とデータ分析を合理化し、プロセスをより良く、より速く、より正確にするため、非常に役立ちます。

Python でリストをフィルタリングしてデータを最大限に活用する方法
Python でリストをフィルタリングしてデータを最大限に活用する方法

filter()関数の使用

filter() 関数は、リスト、タプル、セット、辞書などの反復可能オブジェクトを反復処理し、指定された条件を満たす反復可能オブジェクト内の項目を抽出するために使用できる組み込みの Python 関数です。

Python の Iterable は、要素を 1 つずつループできるオブジェクトです。イテラブルを反復処理すると、イテラブル内の項目が一度に 1 つずつ返されます。

フィルター関数の構文は次のとおりです。

 filter(function, iterable)

function – フィルタリング条件を含む Python 関数

iterable – フィルタリングされる反復可能オブジェクト。この場合、リストを使用します。

filter() 関数は、渡された関数を受け取り、それを渡された反復可能オブジェクトの各項目に適用し、項目に対するフィルター条件をテストします。項目が条件を満たす場合、つまりブール値 true が返され、 filter() 関数によって選択されます。条件を満たさない場合、項目は選択されません。

filter() 関数は、フィルター条件を通過した項目を含む反復可能オブジェクトを返します。 list() 関数を使用すると、フィルター条件を通過した項目を含む新しいリストを作成できます。

filter() 関数の動作を確認するには、50 未満の数値を選択するためにフィルター処理されている以下のリストを検討してください。

 #A list of numbers
numbers = [79, 15, 92, 53, 46, 24, 81, 77, 37, 61]

# function containing the filtering condition
def is_even(num):
   if num < 50:
      return True
   else:
      return False

# the function list() is used to create a list from the iterable
# returned by the filter() function
filtered_numbers = list(filter(is_even, numbers))
print(filtered_numbers)

上記のコードは次の結果を出力します。

 [15, 46, 24, 37]
Python でリストをフィルタリングしてデータを最大限に活用する方法
Python でリストをフィルタリングしてデータを最大限に活用する方法

for ループを使用する

Python では、for ループは、リスト、タプル、文字列、配列などの順次データ構造を反復処理するために使用される制御フロー ステートメントです。 for ループは、シーケンス内の各項目のコード ブロックを繰り返し実行します。

for ループの一般的な構文は次のとおりです。

 for item in iterable:
    # Block of code to be executed for each item in the iterabele

item – ループの反復で処理されている現在の項目を表す変数

iterable – for ループが反復されるシーケンス。この場合、リスト

for ループを使用してリストをフィルターするには、実行するコード ブロックのセクションにフィルター条件を渡す必要があります。このようにして、各項目が評価されて、指定された条件を満たすかどうかが確認されます。

for ループを使用してリストをフィルターする場合は、フィルター条件に合格する値を追加する空のリストも作成する必要があります。

これを実際に確認するには、for ループを使用して数値のリストをフィルターして 50 未満の数値を取得してみましょう。

 numbers = [79, 15, 92, 53, 46, 24, 81, 77, 37, 61]

filtered_numbers = []

for num in numbers:
    if num < 50:
        # append() used to add a number that passes the condition
        # into filtered_numbers.
        filtered_numbers.append(num)

print(filtered_numbers)

上記のコードは次の結果を出力します。

 [15, 46, 24, 37]

別のリストを使用する

フィルタリングしたいリスト内の項目が別のリストに表示されているかどうかを確認することで、別のリストを使用してリストをフィルタリングできます。たとえば、次の 2 つのリストを考えてみましょう。

 letters = ['a', 'h', 'q', 'd', 's', 'x', 'g', 'j', 'e', 'o', 'k', 'f', 'c', 'b', 'n']

vowels = ['a', 'e', 'i', 'o', 'u']

上記の 文字 と呼ばれるリストでは、項目が 母音 リストに表示されるかどうかを確認することで、リスト内のどの項目が 母音 ではないかを判断できます。項目が 母音 リストに表示されない場合、それは母音ではありません。

このようにして、母音以外の 文字 をすべて取得できます。これを行うには、次のコードを実行します。

 letters = ['a', 'h', 'q', 'd', 's', 'x', 'g', 'j', 'e', 'o', 'k', 'f', 'c', 'b', 'n']
vowels = ['a', 'e', 'i', 'o', 'u']

not_vowel = []

for letter in letters:
    if letter not in vowels:
        not_vowel.append(letter)
print(not_vowel)

上記のコードは、母音ではない 文字 を含む次の出力を出力します。

 ['h', 'q', 'd', 's', 'x', 'g', 'j', 'k', 'f', 'c', 'b', 'n']

リスト内包表記の使用

Python では、リスト内包表記により、既存のリストから新しいリストを作成するための、より短く、より簡潔で、クリーンな構文が提供されます。リスト内包表記には、for ループを使用して別のリストから新しいリストを作成するために使用される複数行のコードを 1 行に減らす機能があります。

これは、リスト内包表記を使用する場合、項目を 1 行で定義して新しいリストに追加するためです。

リスト内包表記の構文は次のとおりです。

 new_list = [expression for element in iterable if condition]

new_list – リスト内包表記によって追加された要素を含む新しいリスト

表現 – 反復可能オブジェクトの各項目に適用される操作

item – 反復可能オブジェクト内で現在アクティブな項目を表す変数名

iterable – 項目が選択される反復可能オブジェクト。

if 条件 – 項目をフィルタリングするために条件を追加して、指定された条件を満たすもののみを作成中の新しいリストに追加できるオプションの部分です。

実際のリスト内包理解と、それによってフィルタリングと新しいリストの作成のプロセスがどれだけ簡素化されるかを確認するために、 文字 母音の リストを使用して、 母音 リストにない文字リスト内の項目をフィルタリングして除外します。これを行うには、次のコードを実行します。

 letters = ['a', 'h', 'q', 'd', 's', 'x', 'g', 'j', 'e', 'o', 'k', 'f', 'c', 'b', 'n']
vowels = ['a', 'e', 'i', 'o', 'u']

# list comprehension
not_vowel = [letter for letter in letters if letter not in vowels]
print(not_vowel)

上記のコードの出力を以下に示します。

 ['h', 'q', 'd', 's', 'x', 'g', 'j', 'k', 'f', 'c', 'b', 'n']

出力は前の例と似ています。この例では、for ループを使用して別のリストを使用してリストをフィルター処理しました。ただし、同じ結果を得るために使用するコード行は少なくなります。

結論

Python でデータを操作する場合、実行する必要がある一般的な操作は、リストなどの反復可能オブジェクトからデータをフィルター処理することです。これは、実行中の操作または処理に関連するデータのみを操作できるため、データ分析およびデータ処理において非常に便利なステップです。

Python で非常に人気のあるシーケンシャル データ構造はリストです。リストを操作していて、それをフィルタリングする必要がある場合は、この記事で強調表示されているいずれかの方法を使用することを検討してください。

Python でラムダ関数を使用する方法を例とともに読むこともできます。

「 Python でリストをフィルタリングしてデータを最大限に活用する方法」についてわかりやすく解説!絶対に観るべきベスト2動画

【毎日Python】Pythonでシリーズをリストに変換する方法|tolist

Python では、連続したデータまたは順序付けされたデータを保存する最も一般的な方法の 1 つは、リストを使用することです。 Python のリストは、データのコレクションを格納するために使用される、順序付けされた変更可能な組み込みデータ構造です。リストに保存される項目には 0 から始まるインデックスが付けられ、ユーザーはリストの作成後にリストの内容を変更できます。

リスト内の項目にはインデックスが付けられているため、リスト内に重複した項目を保存できます。 Python のリストには、さまざまなデータ型の要素を含めることもできます。リスト内の項目はカンマで区切られ、角括弧で囲まれます。

チェックリスト-3693113
チェックリスト-3693113

Python のリストの例を次に示します。

 # A list containing one data type - String
colors = ['Red', 'Orange', 'Yellow', 'Green', 'Blue', 'Indigo', 'Violet']

# A list containing multiple data types
movies = ['Transformers', 2012, 'Avengers', 300]

# A list with duplicate values
users = ['John', 'Mary', 'Elizabeth', 'John']

リストは非常に汎用性の高いデータ構造であり、リストに格納されたデータに対して多くの操作を実行できます。リストに対して実行される一般的で便利な操作の 1 つは、リストに格納されているデータのフィルタリングです。

Python でリストをフィルタリングしてデータを最大限に活用する方法
Python でリストをフィルタリングしてデータを最大限に活用する方法

リストのフィルタリングが重要な理由

リストのフィルタリングとは、指定された基準を満たすデータの特定のサブセットを抽出することを意味します。たとえば、1 から 10 までの数字を含むリスト内の偶数のみに興味がある場合があります。リストからそのようなデータを抽出するには、リストをフィルターして、正確に 2 で割り切れる数字を取得するだけです。

リストのフィルタリングが重要な理由
リストのフィルタリングが重要な理由

フィルタリングは、リストから不要な項目を削除したり、指定された基準を満たす項目を含む新しいリストを作成したり、特定の条件を満たすデータを抽出したりできるため、データ操作やデータ分析に特に役立ちます。

フィルタリング リストの実際のアプリケーションには次のようなものがあります。

  • データ検証 – リストを操作する場合、指定された基準を満たすデータのみを操作したい場合があります。たとえば、ユーザーのリストでは、姓と名の両方を持つユーザーに興味があるかもしれません。フィルタリングを使用すると、リスト内のデータを処理する前に検証および検証できます。こうすることで、要件を満たさないデータの操作を回避できます。
  • データ クリーニング – リストにはさまざまな種類のデータを保存できるため、興味のない不要なデータがリストに含まれていることは珍しくありません。たとえば、名前が含まれるリストでは、リスト内の数値には興味がないかもしれません。リスト。フィルタリングにより、不要なデータを削除できます。
  • データ分析 – データのフィルタリングは、データの特定のサブセットに焦点を当てることができ、パターンや傾向を簡単に特定できるため、データ分析に特に役立ちます。たとえば、学生のリストから男子学生と女子学生を除外し、その結果をデータ分析に使用できます。年齢や地域、学年などで絞り込むこともできます。これにより、リスト内のデータの特定のサブセットからより有用な結論を引き出すことができます。

リストのフィルタリングは、リストに保存されているデータを制御できるため、関心のあるデータのみを操作できるため、非常に便利な機能です。

リストに保存されているデータの特定のサブセットをターゲットにすることは、データ処理とデータ分析を合理化し、プロセスをより良く、より速く、より正確にするため、非常に役立ちます。

Python でリストをフィルタリングしてデータを最大限に活用する方法
Python でリストをフィルタリングしてデータを最大限に活用する方法

filter()関数の使用

filter() 関数は、リスト、タプル、セット、辞書などの反復可能オブジェクトを反復処理し、指定された条件を満たす反復可能オブジェクト内の項目を抽出するために使用できる組み込みの Python 関数です。

Python の Iterable は、要素を 1 つずつループできるオブジェクトです。イテラブルを反復処理すると、イテラブル内の項目が一度に 1 つずつ返されます。

フィルター関数の構文は次のとおりです。

 filter(function, iterable)

function – フィルタリング条件を含む Python 関数

iterable – フィルタリングされる反復可能オブジェクト。この場合、リストを使用します。

filter() 関数は、渡された関数を受け取り、それを渡された反復可能オブジェクトの各項目に適用し、項目に対するフィルター条件をテストします。項目が条件を満たす場合、つまりブール値 true が返され、 filter() 関数によって選択されます。条件を満たさない場合、項目は選択されません。

filter() 関数は、フィルター条件を通過した項目を含む反復可能オブジェクトを返します。 list() 関数を使用すると、フィルター条件を通過した項目を含む新しいリストを作成できます。

filter() 関数の動作を確認するには、50 未満の数値を選択するためにフィルター処理されている以下のリストを検討してください。

 #A list of numbers
numbers = [79, 15, 92, 53, 46, 24, 81, 77, 37, 61]

# function containing the filtering condition
def is_even(num):
   if num < 50:
      return True
   else:
      return False

# the function list() is used to create a list from the iterable
# returned by the filter() function
filtered_numbers = list(filter(is_even, numbers))
print(filtered_numbers)

上記のコードは次の結果を出力します。

 [15, 46, 24, 37]
Python でリストをフィルタリングしてデータを最大限に活用する方法
Python でリストをフィルタリングしてデータを最大限に活用する方法

for ループを使用する

Python では、for ループは、リスト、タプル、文字列、配列などの順次データ構造を反復処理するために使用される制御フロー ステートメントです。 for ループは、シーケンス内の各項目のコード ブロックを繰り返し実行します。

for ループの一般的な構文は次のとおりです。

 for item in iterable:
    # Block of code to be executed for each item in the iterabele

item – ループの反復で処理されている現在の項目を表す変数

iterable – for ループが反復されるシーケンス。この場合、リスト

for ループを使用してリストをフィルターするには、実行するコード ブロックのセクションにフィルター条件を渡す必要があります。このようにして、各項目が評価されて、指定された条件を満たすかどうかが確認されます。

for ループを使用してリストをフィルターする場合は、フィルター条件に合格する値を追加する空のリストも作成する必要があります。

これを実際に確認するには、for ループを使用して数値のリストをフィルターして 50 未満の数値を取得してみましょう。

 numbers = [79, 15, 92, 53, 46, 24, 81, 77, 37, 61]

filtered_numbers = []

for num in numbers:
    if num < 50:
        # append() used to add a number that passes the condition
        # into filtered_numbers.
        filtered_numbers.append(num)

print(filtered_numbers)

上記のコードは次の結果を出力します。

 [15, 46, 24, 37]

別のリストを使用する

フィルタリングしたいリスト内の項目が別のリストに表示されているかどうかを確認することで、別のリストを使用してリストをフィルタリングできます。たとえば、次の 2 つのリストを考えてみましょう。

 letters = ['a', 'h', 'q', 'd', 's', 'x', 'g', 'j', 'e', 'o', 'k', 'f', 'c', 'b', 'n']

vowels = ['a', 'e', 'i', 'o', 'u']

上記の 文字 と呼ばれるリストでは、項目が 母音 リストに表示されるかどうかを確認することで、リスト内のどの項目が 母音 ではないかを判断できます。項目が 母音 リストに表示されない場合、それは母音ではありません。

このようにして、母音以外の 文字 をすべて取得できます。これを行うには、次のコードを実行します。

 letters = ['a', 'h', 'q', 'd', 's', 'x', 'g', 'j', 'e', 'o', 'k', 'f', 'c', 'b', 'n']
vowels = ['a', 'e', 'i', 'o', 'u']

not_vowel = []

for letter in letters:
    if letter not in vowels:
        not_vowel.append(letter)
print(not_vowel)

上記のコードは、母音ではない 文字 を含む次の出力を出力します。

 ['h', 'q', 'd', 's', 'x', 'g', 'j', 'k', 'f', 'c', 'b', 'n']

リスト内包表記の使用

Python では、リスト内包表記により、既存のリストから新しいリストを作成するための、より短く、より簡潔で、クリーンな構文が提供されます。リスト内包表記には、for ループを使用して別のリストから新しいリストを作成するために使用される複数行のコードを 1 行に減らす機能があります。

これは、リスト内包表記を使用する場合、項目を 1 行で定義して新しいリストに追加するためです。

リスト内包表記の構文は次のとおりです。

 new_list = [expression for element in iterable if condition]

new_list – リスト内包表記によって追加された要素を含む新しいリスト

表現 – 反復可能オブジェクトの各項目に適用される操作

item – 反復可能オブジェクト内で現在アクティブな項目を表す変数名

iterable – 項目が選択される反復可能オブジェクト。

if 条件 – 項目をフィルタリングするために条件を追加して、指定された条件を満たすもののみを作成中の新しいリストに追加できるオプションの部分です。

実際のリスト内包理解と、それによってフィルタリングと新しいリストの作成のプロセスがどれだけ簡素化されるかを確認するために、 文字 母音の リストを使用して、 母音 リストにない文字リスト内の項目をフィルタリングして除外します。これを行うには、次のコードを実行します。

 letters = ['a', 'h', 'q', 'd', 's', 'x', 'g', 'j', 'e', 'o', 'k', 'f', 'c', 'b', 'n']
vowels = ['a', 'e', 'i', 'o', 'u']

# list comprehension
not_vowel = [letter for letter in letters if letter not in vowels]
print(not_vowel)

上記のコードの出力を以下に示します。

 ['h', 'q', 'd', 's', 'x', 'g', 'j', 'k', 'f', 'c', 'b', 'n']

出力は前の例と似ています。この例では、for ループを使用して別のリストを使用してリストをフィルター処理しました。ただし、同じ結果を得るために使用するコード行は少なくなります。

結論

Python でデータを操作する場合、実行する必要がある一般的な操作は、リストなどの反復可能オブジェクトからデータをフィルター処理することです。これは、実行中の操作または処理に関連するデータのみを操作できるため、データ分析およびデータ処理において非常に便利なステップです。

Python で非常に人気のあるシーケンシャル データ構造はリストです。リストを操作していて、それをフィルタリングする必要がある場合は、この記事で強調表示されているいずれかの方法を使用することを検討してください。

Python でラムダ関数を使用する方法を例とともに読むこともできます。

「 Python でリストをフィルタリングしてデータを最大限に活用する方法」についてわかりやすく解説!絶対に観るべきベスト2動画

【毎日Python】Pythonでシリーズをリストに変換する方法|tolist