実現したいこと
サンプルが100以上あるデータの中に年数を表す変数があります。
term
3 years
4 years
5 years
6 yeras
.
.
.
20 years
となっています。yearsを削除して数値データに置き換えたい。
やってみたこと
Googleで検索して、次のコードを見つけました。実行すると2020で返ってきます。
import re
s = "2020年"
result = re.sub(r"\D", "", s)
print(result)
これを応用して、次のコードを実行しました。
import re
s = df_train["term"]
result = re.sub(r"\D", "", s)
print(result)
ですが・・・
TypeError: expected string or bytes-like object
エラーになってしまいました・・・。
正しいコード
投稿サイトで質問を投げてかけて、次のアドバイスをいただきました。
import pandas as pd
df['term'] = df['term'].str.extract('^(\d+)').astype(int)
(\d+)が数字を意味するそうです。