pandasで1変数の情報を用いて2変数を作成したい
dfにおけるxには、目的地までの来るまでの車での移動時間、または徒歩分数が混在しています。
index 2には、徒歩分数が入っています。
車での移動時間が入っている箇所では、「車x(ykm)」という形式になっています。
xから、車での移動時間を示すcar_timeと徒歩分数walk_timeの二つの変数を作成したいです。
現在は次のような状況ですが、walk_timeの、index=1, 2の部分に0が入りません。
私が、正規表現が分かっていないからだと思いますが、ご教示くださいますとありがたいです。
import pandas as pd
import numpy as np
import re
df = pd.DataFrame(
{'x': ['車5(0.8km)', '5', '車27(8.6km)']},
index=[1, 2, 3])
# 車時間のみを取り出し、欠損値には0をうめる。
df['car_time'] = df.x.str.extract(r'車(\d*)').fillna(0)
# 徒歩分数のみを取り出し、欠損値には0を埋める
df['walk_time'] = df.x.str.extract(r'(\d*)').fillna(0)
print(df)
出力結果:
x car_time walk_time
1 車5(0.8km) 5
2 5 0 5
3 車27(8.6km) 27