Chapter 04

データの前処理(名前の整理)

(株)ディープブラック
(株)ディープブラック
2021.03.21に更新

名前の前処理

まずは、名前の構造がどうなっているかみていきましょう。

最初の乗客の名前をみると以下のようになっています。

Braund, Mr. Owen Harris

上記から、敬称(Mr)を抜き出します。

以下に、敬称を抜き出す、手順を書きます。

  1. 「,」でsplit
  2. 1でsplitされた、配列の1番目を「.」でsplit
  3. 2でsplitされた、配列の0番目を1からスライスして取り出す

codeでは以下のようになります。

name_lst = name.split(",")
honorific_lst = name_lst[1].split(".")
honorific = honorific_lst[0][1:]

関数の作成

上記までのものを踏まえて、関数を作成しましょう。

######### 関数群 #########
def extract_honorific(name):
	
	name_lst = name.split(",")
	honorific_lst = name_lst[1].split(".")
	honorific = honorific_lst[0][1:]
	
	return honorific

敬称の取り出しとDataFrameへの結合

######### データの前処理(名前の整理) #########
name_lst = list(data["Name"].values)
print(name_lst[0])

honorific_lst = list()
for i in range(0, len(name_lst)):
	honorific_lst.append(extract_honorific(name_lst[i]))

print(len(honorific_lst))

data["Honorific"] = honorific_lst

data = data.drop("Name", axis=1)