2017-01-11 9 views
0

私は現在pandas daraframeで作業しています。今、私はすべてのyのすべての値xを数えたいと思います。だから例:すべての州について私は都市の数を数えたいと思う。pandas dataframeユニークなyのすべてのxをカウントする

私はこのような何かを試してみましたが、私はこれは正しい構文ではありません知っているが、私はそれに権利を行う方法がわからない:

df['sumCity'] = df[['STATE'].unique()df['CITY']].count() 

誰がどのようにその権利を行うことを教えてもらえますか?

答えて

3

試してみてください。

df['sumCity'] = df.groupby('STATE').CITY.transform('nunique') 
+0

いつももっとうまくいくのですか? ;) – AlexG

+0

@AlexG賛辞をいただきありがとうございます – piRSquared

+0

ありがとうございます!なぜかっこと ''(文字列)なしで都市を使うことができるのですか?あなたはどのようにその電話を呼びますか? – threxx

1

私はあなたがgroupbyをしたいと思います。その後、

group = df.groupby('STATE')['CITY'].count()

と辞書を使用して新しい列にこの結果をマップ:このような何か

df['sumCity'] = df['STATE'].map(dict(group))

0

私はあなたのyわからないけど、あなたにあなたのyを変換することができますクラスのvalue_counts()を次のように使用します。

pandas.Series(y).value_counts() 
関連する問題