こんにちはpython/pandasコミュニティ。 「world_rank」列を浮動小数点数に変換しようとしてから、kaggle.comからこのコードをコピーしました。コードは魔法のように機能しましたが、わかりません。パンダ列のラムダ解読
ラムダのコードを私に説明してください。
# convert university world rank columns to float (where necessary)
f = lambda x: int((int(x.split('-')[0]) + int(x.split('-')[1]))/2) if len(str(x).strip()) > 3 else
df_ranks['world_rank'] = df_ranks['world_rank'].str.replace('=','').map(
f).astype('float')
考えてみましょうあなたのGupta氏に感謝します。あなたの説明で、私が以前理解できなかったことのほとんどを理解します。 最後に私は理解していないことがあります。最後に、str.replace( '='、 '')。map(f)と書かれています。 –
それはworld_rank列に関数 'f'を適用していることを意味しますか? –
.str.replace( "="、 "")は、Series df_ranks ['world_rank']の各要素に適用される文字列操作です。これはa_string_variable.replace( "="、 "")と似ていますが、これは一連の文字列ではなく、単一の文字列に対してのみ機能します。したがって、 ".str"を追加すると、pandasシリーズにあるすべての文字列要素に作用させることができます。 ".map(f)"は元のdf_rank ['world_rank'] Seriesの各要素に対して "replace"演算を行った後に得られた系列のすべての要素にその関数 "f"を適用することを意味します。希望が役立ちます。答えを受け入れてくれてありがとう。 –