文字列の数字への置き換え
現在、xに入っている路線名を、辞書line_namesにあるような数字に置き換えたいと考えています。
その際に、xにある路線名以外は、全て欠損値nanにしたいです。
現在は、line_namesのリストと、データとの対応が不完全なので、エラーになりますが、
辞書line_namesに対応を書かずとも、辞書にない文字列は、
欠損値としたいのですが、ご教示頂けるとありがたいです。
大量なデータがあり、どのような文字列が入っているのか、完全に把握できないので、
こちらで、関心ある路線名以外は、全て欠損値扱いしたいからです。
import pandas as pd
import numpy as np
df = pd.DataFrame(
{'x': ['JR山手線',
'JR総武線',
'西武池袋線',
'都営大江戸線',
'JR中央線',
'バス',
'車']})
line_names = {"JR山手線":"1",
"JR総武線":"2",
"西武池袋線":"3",
"都営大江戸線":"4",
"JR中央線":"5"}
df['y'] = df.apply(lambda row: line_names[row["x"]], axis=1)