2016-11-18 11 views
0

ラムダプロパティを使用してpandasに条件文を作成しようとしています。私の文法はちょっと離れているかもしれないと思うし、ちょっとコース修正が必要です。何かアドバイスをいただければ幸いです。パンダに新しい列を作成しようとしました。

import pandas as pd 

Top15['HighRenew'] = Top15['% Renewable'].map(lambda x: 1 if Top15[(Top15['% Renewable'] >= Top15['% Renewable'].median())] else 0) 

答えて

0

あなたはintにブールシリーズをキャストすることによってこれを行うことができます。

Top15['HighRenew'] = (Top15[(Top15['% Renewable'] >= Top15['% Renewable'].median()).astype(int) 
+0

項目の間違った数が、22を通過した配置は申し訳ありません1 – kma

+0

を意味しますが、これはint型のシリーズを返します。 1/0あなたのエラーはあなたが元の意図とは異なる単一の行しか持たないことを意味するので、サンプルデータ、コード、私のコード、それから生成されたエラーを投稿する必要があります – EdChum

+0

私は別の方法を考え出しました。 median()、int(1)、Top15 ['%Renewable'])を適用しました。このTop15 ['HighRenew'] = np.where(Top15 ['%Renewable']> = Top15 ['%Renewable'そして、それは私が望むものを得るように思えた。しかし、これは簡単な方法ではないかもしれません。 – kma

関連する問題