LoginSignup
0
0

More than 1 year has passed since last update.

数字+文字列データの文字を削除して数値データにするには

Posted at

実現したいこと

サンプルが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+)が数字を意味するそうです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0