1. ホーム
  2. python

[解決済み] Pandasデータフレームの文字列カラムのテキストを置換する方法は?

2022-05-02 17:23:13

質問

データフレームにこのようなカラムがあります。

range
"(2,30)"
"(50,290)"
"(400,1000)"
... 

に置き換えたいのですが , カンマを - をダッシュさせます。現在、この方法を使用していますが、何も変わりません。

org_info_exc['range'].replace(',', '-', inplace=True)

誰か助けてください。

解決方法は?

ベクター化したものを使用する str メソッド replace :

df['range'] = df['range'].str.replace(',','-')

df
      range
0    (2-30)
1  (50-290)

EDITです。 ということで、あなたが試したことと、なぜうまくいかなかったかを見てみると。

df['range'].replace(',','-',inplace=True)

から ドキュメント という記述があります。

str or regex: str: to_replace に正確にマッチする文字列が置き換えられます。 値で

つまり、strの値が一致しないため、置換が行われないので、以下と比較してください。

df = pd.DataFrame({'range':['(2,30)',',']})
df['range'].replace(',','-', inplace=True)

df['range']

0    (2,30)
1         -
Name: range, dtype: object

ここでは、2行目で完全一致が発生し、置換が行われます。