1
私はパンダのデータフレームで文字列置換をしようとしています。代わりに、上記のDFのパンダの部分文字列置換
In [105]: df = pd.DataFrame([['0 - abc', 1, 5], ['0 - abc - xyz', 2, 3]], columns=['col1','col2','col3'])
In [106]: df
Out[106]:
col1 col2 col3
0 0 - abc 1 5
1 0 - abc - xyz 2 3
In [107]: for col in df.columns:
...: df[col] = df[col].replace(to_replace='".*"|^0', value=df['col3'], inplace=False, regex=True)
...:
In [108]: df
Out[108]:
col1 col2 col3
0 5 1 5
1 3 2 3
、私は結果を期待していますように::シリーズでその基本的に交換はので、個々の列をループする必要がある
In [110]: df_result
Out[110]:
col1 col2 col3
0 5 - abc 1 5
1 3 - abc - xyz 2 3
、0」で - ABC 'の場合、最初の' 0 'だけが文字列全体ではなく' 5 'に置き換えられます。
正規表現には何がありますか?このようなパンダでの文字列置換を行う別の方法はありますか?ありがとう。
ありがとう@COLDSPEED!ええ、私のユースケースは '|'正規表現の(OR)条件。 –
@ D.prd必要に応じて変更します。しかし、主な修正は '.astype'です。 –
うん、@ COLDSPEED、もう一度おめでとう! –