1
私はこのはTypeError:期待される文字列またはバイトのようなオブジェクトパンダ変数
import pandas as pd
df = pd.DataFrame({'word': ['abs e learning ', 'abs e-learning', 'abs e&learning', 'abs elearning']})
のようなデータセットを持って、私はのように怒鳴る
re_map = {r'\be learning\b': 'elearning', r'\be-learning\b': 'elearning', r'\be&learning\b': 'elearning'}
import re
for r, map in re_map.items():
df['word'] = re.sub(r, map, df['word'])
とエラーを行う
word
0 abs elearning
1 abs elearning
2 abs elearning
3 abs elearning
を取得したいです
TypeError Traceback (most recent call last)
<ipython-input-42-fbf00d9a0cba> in <module>()
3 s = df['word']
4 for r, map in re_map.items():
----> 5 df['word'] = re.sub(r, map, df['word'])
C:\Users\Edward\Anaconda3\lib\re.py in sub(pattern, repl, string, count, flags)
180 a callable, it's passed the match object and must return
181 a replacement string to be used."""
--> 182 return _compile(pattern, flags).sub(repl, string, count)
183
184 def subn(pattern, repl, string, count=0, flags=0):
TypeError: expected string or bytes-like object
私はこの
for r, map in re_map.items():
df['word'] = re.sub(r, map, str(df['word']))
のようにSTRを適用することができますそこには間違いはありませんが、私はそれを改善する方法を
word
0 0 0 0 abs elearning \n1 abs elearning\...\n1 0 0 abs elearning \n1 abs elearning\...\n2 0 0 abs elearning \n1 abs ele...
1 0 0 0 abs elearning \n1 abs elearning\...\n1 0 0 abs elearning \n1 abs elearning\...\n2 0 0 abs elearning \n1 abs ele...
2 0 0 0 abs elearning \n1 abs elearning\...\n1 0 0 abs elearning \n1 abs elearning\...\n2 0 0 abs elearning \n1 abs ele...
3 0 0 0 abs elearning \n1 abs elearning\...\n1 0 0 abs elearning \n1 abs elearning\...\n2 0 0 abs elearning \n1 abs ele...
を望むように私はpd.dataFrameを得る望めませんか?
第二の選択肢は、最高の 最初の 'はTypeError: 『です』アイテムの割り当てをサポートしていないオブジェクトのSTR – Edward
トレースバックは----> 3 e [i] = re.sub(r、map、e [i]) – Edward
私はそれを得ました!それを指摘してくれてありがとう。それは修正されました! –