ホームページ  >  記事  >  バックエンド開発  >  pandas DataFrame で一致する部分文字列を持つ列を反復的に抽出し、正規表現を使用する方法

pandas DataFrame で一致する部分文字列を持つ列を反復的に抽出し、正規表現を使用する方法

Susan Sarandon
Susan Sarandonオリジナル
2024-10-20 13:58:29496ブラウズ

How to Extract Columns with Matching Substrings in pandas DataFrame Iteratively and Using Regular Expressions?

特定の部分文字列を含む列の識別

完全一致を必要とせずに名前に指定された部分文字列が含まれる列を見つけるには、反復アプローチを使用できます。 。これには、各列名を調べて、検索基準を満たすものを特定することが含まれます。

「spike-2」、「heyspike」、「spiked-in」などの列名を持つ DataFrame を考えてみましょう。部分文字列「spike」を含む列名を抽出するには、次の Python コードを利用できます:

<code class="python">import pandas as pd

# Initialize data
data = {'spike-2': [1,2,3], 'hey spke': [4,5,6], 'spiked-in': [7,8,9], 'no': [10,11,12]}
df = pd.DataFrame(data)

# Iterate over column names and filter based on substring
spike_cols = [col for col in df.columns if 'spike' in col]

# Print resulting column names
print(spike_cols)</code>

このコードでは:

  1. df.columns は列のリストを返します。 names.
  2. リスト内包表記 [col forcol in df.columns if 'spike' incol] は、変数colを使用して各列名を反復し、部分文字列「spike」を含む名前のみを含む新しいリストを構築します。 .
  3. 結果のspike_colsには目的の列名が含まれており、後で df['col_name'] または df[col_name] を使用してアクセスできます。

または、次の方法で DataFrame を取得します。一致する列のみ:

<code class="python">df2 = df.filter(regex='spike')</code>

これにより、名前に「spike」が含まれる列のみを含む df2 が作成されます。

以上がpandas DataFrame で一致する部分文字列を持つ列を反復的に抽出し、正規表現を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。