同じ操作を実行するために同等のpandasクエリに変換する必要がある以下のSQLクエリがあります。年齢= 12及び性別= "M"パンダのデータフレームのどこで個別のカウント操作を実行するには?
私はnunique()を使用してみましたが、どこ条件組み合わせる方法を知らない学生から
SELECT COUNT(DISTINCT名)。
同じ操作を実行するために同等のpandasクエリに変換する必要がある以下のSQLクエリがあります。年齢= 12及び性別= "M"パンダのデータフレームのどこで個別のカウント操作を実行するには?
私はnunique()を使用してみましたが、どこ条件組み合わせる方法を知らない学生から
SELECT COUNT(DISTINCT名)。
多くの異なる回答があります。私はpandas
とnumpy
の指向の答えを提供しようとするのが好きです。私がこれらを暗示しているわけではありません。答えです。
numpy
私のソリューション。カノニカルではありません!
a = df.age.values == 12
g = df.gender.values == 'M'
len(np.unique(df.name.values[a & g]))
pandas
私のソリューション。カノニカルではありません!
a = df.age.eq(12)
g = df.gender.eq('M')
df.name.loc[a & g].nunique()
を使用すると、クエリまたはブールインデックスを使用してユニークなアイテムの数を取得できます。
df.query('age == 12 & gender == "M"')['name'].nunique()
len(df [(df.age == 12)&(df.gender == 'M')] .name.unique()) –