Pandas 文字列の置換
次のような、部屋の階数を示すデータがあります。
['2', 'B1', '23-49', 'M2']
B1は地下一階を、23-49は、23階を、M2は不明なので、欠損値にしたいと考えています。
[2, -1, 23, NaN]
しかし、現在は、全てNanになってしまいます。
文字列の置換方法の理解が足りないためと思いますが、
ご教示下さいますとありがたいです。
よろしくお願いします。
import pandas as pd
import numpy as np
import re
df = pd.DataFrame(
{'kai': ['2', 'B1', '23-49', 'M2']},
index=[1, 2, 3,4])
df['kai']=df['kai'].replace('23-49', r'(\d)')
df['kai']=df['kai'].str.replace(r'B(\d*)', -\d*)
df['kai']=df['kai'].str.replace(r'M(\d*)', np.nan)
print(df)