2017-10-29 23 views
1

だから、私がどのように見えるデータフレームを持って、元のデータフレームを操作:enter image description hereブール論理式を使用して

308異なるORIGIN_CITY_NAMEと12種類のUNIQUE_CARRIERと。

私はユニークなキャリア航空会社の数は、このよう< 5都市を削除しようとしています、私はこの関数を実行しました。

enter image description here

、私はこの結果を利用したいと思いたいですORIGIN_CITY_NAMEがTRUEに対応する行を削除できるように、元のデータdfを操作します。

私は、Pythonでisin()関数またはapply(lambda)関数を使用することを考えていましたが、私はそれについてどうやって行くのかよく分かりません。これについてはもっとエレガントな方法がありますか?ありがとうございました!

+0

わかりやすいコードを表示してください。 – 0TTT0

+0

@ 0TTT0 isin()関数を使用しようとしているので、「not-so-elegant」コードが機能しません。しかし、それにもかかわらず、私はあなたの入力のいくつかをありがとうと思います!ありがとう – misheekoh

+0

@misheekoh私はあなたが何をしているか知っていると思うし、私はそれに応じて答えを残しました。しかし、試行されたコードはいくつかの点で役立ちます。 1.通常、あなたは何かを理解していないので質問をしています。まあ、あなたが何かを理解していなければ、それを間違って記述するかもしれません。このように、提供されたコードは、あなたの試みがあなたがしようとしていることを明らかにする可能性があることを実証します。あなたが実際にあなた自身でこれをやろうとしていることを示しています。このサイトは、質問に答えるために時間をボランティアしている人々の上を走っています。私たちは一般的に努力したくない人たちのために努力するのが好きではありません。 – piRSquared

答えて

1

filter

私はmap

mask = df.groubpy('ORIGIN_CITY_NAME').UNIQUE_CARRIER.nunique() >= 5 

df[df.ORIGIN_CITY_NAME.map(mask)] 
を使用したい...あなたがからの結果を取得しようとした静脈に沿って継続する、しかしこの

df.groubpy('ORIGIN_CITY_NAME').filter(
    lambda d: d.UNIQUE_CARRIER.nunique() >= 5 
) 

のために作られました

またはtransform

mask = df.groupby('ORIGIN_CITY_NAME').UNIQUE_CARRIER.transform(
    lambda x: x.nunique() >= 5 
) 

df[mask]