Pandas データフレームの文字列列のテキストを置換する方法
Pandas では、コンテンツを変更する必要がある状況が発生する場合があります。特定の文字または文字列の置換など、テキスト列の。これは、強力な replace メソッドを使用して実現できます。
2 つの数値をカンマで区切って、括弧で囲まれた値を含む列があると述べました。目標は、カンマをダッシュに置き換えることです。ただし、org_info_exc['range'].replace(',', '-', inplace=True) を使用した現在のアプローチは機能しません。
問題はコードの構文にあります。 replace メソッドでは、置換する正確な文字列または正規表現を指定する必要があります。あなたの場合、カンマは値全体と完全に一致しません。
カンマを正しく置換するには、次のメソッドを使用する必要があります。
<code class="python">df['range'] = df['range'].str.replace(',','-')</code>
ここでは、ベクトル化された str メソッド。これにより、列内のすべての要素に文字列変換を適用できます。 replace 関数は、置換される元の文字列と、それを置換する新しい文字列の 2 つのパラメータを受け取ります。
このコードでは、文字列内の位置に関係なく、正規表現 ',' を使用してカンマ文字と一致します。 .
編集:
元の試みの分析:
<code class="python">df['range'].replace(',','-',inplace=True)</code>
Pandas ドキュメントのこのアプローチの説明には、「str: string」と記載されています。 to_replace に完全に一致するものは value に置き換えられます。」列内の文字列がカンマ文字と正確に一致しないため、置換は行われません。
逆に、以下に示すように、カンマ文字と完全に一致するものを指定すると、置換が行われます。
<code class="python">df = pd.DataFrame({'range':['(2,30)',',']}) df['range'].replace(',','-', inplace=True) df['range'] 0 (2,30) 1 - Name: range, dtype: object</code>
この変更された例では、2 行目にカンマの完全一致が含まれており、置換が行われます。
以上がPandas DataFrame の文字列列のカンマを置換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。