実現したいこと
Python 3.9.4
Pandas 1.3.1
を使ってます。
Data frame で、ある列Aの文字列から別の列Bの文字列を消し、新しい文字列の列Cを作りたいです。
x = pd.DataFrame({'A':['abc','cde','ede'],
'B':['b','c','e']})
A B
0 abc b
1 cde c
2 ede e
としたときに、C列で、'A'列の各文字列から、'B'列の各文字列を消して、
'C':['ac','de','d']
となるように'C'を作りたいというのが希望です。
通常のstr.replaceが使えれば、
x['C'] = x['A'].str.replace(x['B'],''])
かな?と思うのですが、以下のエラーになって動きません。
どうしたらいいのでしょうか??
ーーーーーーーーーーーー
発生している問題・エラーメッセージ
x['C'] = x['A'].str.replace(x['B'],'')
File "C:\Users\higashi\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\core\strings\accessor.py", line 116, in wrapper
return func(self, *args, **kwargs)
File "C:\Users\higashi\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\core\strings\accessor.py", line 1401, in replace
result = self._data.array._str_replace(
File "C:\Users\higashi\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\core\strings\object_array.py", line 156, in _str_replace
pat = re.compile(pat, flags=flags)
File "C:\Users\higashi\AppData\Local\Programs\Python\Python39\lib\re.py", line 252, in compile
return _compile(pattern, flags)
File "C:\Users\higashi\AppData\Local\Programs\Python\Python39\lib\re.py", line 294, in _compile
return _cache[type(pattern), pattern, flags]
TypeError: unhashable type: 'Series'
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/18 00:36