質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Q&A

解決済

1回答

432閲覧

関数に与えらる引数はどこからきたものか

renren643

総合スコア279

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

0グッド

0クリップ

投稿2017/11/30 09:39

kaggleで有名なタイタニック号のデータセットを使い、「16歳未満なら、子供。それ以外は性別をそのまま返す」というカラムを作成しているものがあったのですが(コードは以下)、

def male_female_child(passenger): age,sex = passenger if age < 16: return 'child' else: return sex titanic_df['person'] = titanic_df[['Age','Sex']].apply(male_female_child,axis=1)

passengerという引数はどこから持ってこられたものなのでしょうか?
さらにpassengerを「age,sex = passenger」とし、分割されていますが、そこがよくわかりません。
passengerに与えられる引数には

passenger = {15:male,59:female,34:male}

のように年齢と性別が入っているのでしょうか?
だとしたら、titanic_df[['Age','Sex']]の値がpassengerに与えられているのだと思いますが、その解釈でよろしいのでしょうか?

↓データフレームは以下のようになっています。
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

wakame

2017/11/30 22:48

タイトルの日本語くらいは正確に書きませんか?
guest

回答1

0

ベストアンサー

http://blog.mwsoft.jp/s/article/169283766.html
applyは関数を引数にとります。

そしてdf.apply(f)はdfのデータを1行ずつ取り出してfという関数に与えます。

すると今のケースではpassenger = [age, sex]が引数として渡されます。
これを行数分だけ繰り返しています。

最後に多重代入が行われています。
https://hydrocul.github.io/wiki/programming_languages_diff/tuple/multiple-assignment.html

投稿2017/11/30 11:56

mkgrei

総合スコア8560

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問