ホームページ  >  記事  >  バックエンド開発  >  Pandas DataFrame の文字列から数値を抽出するにはどうすればよいですか?

Pandas DataFrame の文字列から数値を抽出するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-24 10:24:02418ブラウズ

How to Extract Numbers from Strings in Pandas DataFrames?

Pandas を使用して DataFrame 文字列から数値を抽出する

データ分析では、多くの場合、文字列から特定のパターンまたはデータ型を抽出する必要があります。 Pandas DataFrame の場合、文字列列には文字や数値などの混合データ型が含まれる場合があります。この記事では、強力な Pandas ライブラリを使用して、このような文字列から数値を抽出するという課題について説明します。

文字列と数値が混在する「A」という名前の列を持つ、「df」という名前の次の DataFrame の例を考えてみましょう。

<code class="python">import pandas as pd
import numpy as np
df = pd.DataFrame({'A':['1a',np.nan,'10a','100b','0b'],
                   })</code>

私たちの目的は、各セルから数値を分離し、整数のみを含むクリーンな列を作成することです。

    A
0   1
1   NaN
2   10
3   100
4   0

正規表現とキャプチャ グループの使用

文字列から数値を抽出する効果的なアプローチの 1 つは、正規表現 (regex) をキャプチャ グループと組み合わせて利用することです。正規表現を使用すると、文字列内の特定の文字またはシーケンスに一致するパターンを指定できます。キャプチャ グループを使用すると、文字列の一致した部分をキャプチャして抽出できます。

この場合、次の正規表現パターンを使用できます:

(\d+)

このパターンは、一致するキャプチャ グループを表します。

'str.extract' メソッドを使用してこのパターンを DataFrame に適用すると、

<code class="python">df.A.str.extract('(\d+)')</code>

望ましい結果が生成されます:

0      1
1    NaN
2     10
3    100
4      0
Name: A, dtype: object

キャプチャ グループは、文字を無視して、文字列の数値部分を正常に抽出しました。この方法は整数に特有であり、浮動小数点値には機能しないことに注意することが重要です。

結論として、キャプチャ グループで正規表現を利用すると、文字列列から数値を抽出する簡潔かつ効率的な方法が提供されます。 Pandas DataFrame 内。この手法を組み込むことで、データ アナリストは数値データを効果的に分離して、さらなる分析や操作を行うことができます。

以上がPandas DataFrame の文字列から数値を抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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