dataframeに含まれる、文字列中の数字を取り出したい
dfにおけるxには、目的地までの来るまでの移動時間、または徒歩分数が混在しています。
index 2には、徒歩分数が入っています。
車での移動時間が入っている箇所では、「車x(ykm)」という形式になっています。
車の時間のみを取り出し、次のような列に「car_time」という変数名を付けて、dfに追加したいです。
['5','0','27']
現在は以下のような状況です。
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])
df['car_time'] = df.apply(lambda i: re.split(r'[^0-9]', i.x), axis=1)
print(df)
# x car_time
# 1 車5(0.8km) [, 5, 0, 8, , , ]
# 2 5 [5]
# 3 車27(8.6km) [, 27, 8, 6, , , ]
追伸:御陰様で、下記のコマンドで、作成することができました。
# 車時間のみを取り出し、欠損値には0をうめる。
df['car_time'] = df.x.str.extract(r'車(\d*)').fillna(0)