2017-11-20 5 views
1

大きなデータセットの上位4項目から計算されたデータフレームオブジェクトを取り戻そうとしています。これを行うには、私はその後、作成したデータフレームcensus_dfを引っ張っそれらの状態の内部四大郡によって推定彼らの人口を持つ4つの最大の郡ではなく、すべての状態を返し、次のデータフレームの上位n項目に.aggを適用するには

return (census_df.set_index('STNAME','COUNTY') 
      .nlargest(4,'CENSUS2010POP') 
      .groupby(level=0)['CENSUS2010POP'] 
      .agg([{'Sum':np.sum}])) 

を書きました。私は

return (census_df.set_index('STNAME','COUNTY') 
      .nlargest(4,'CENSUS2010POP') 
      .groupby(level=0)['CENSUS2010POP'] 
      .agg([{'Sum':np.argsort()[-3:].sum()}])) 

が、argsortを使用してみました は位置引数が不足していると私はそこに入れて何かわからない - argsortも、何を参照するのでしょうか?完全に働いた

答えて

1

IIUC

census_df.set_index('STNAME','COUNTY').\ 
     groupby(level=0)['CENSUS2010POP'].\ 
     agg(lambda x: x.head(4).sum()) 
+0

。どのように私は同じ呼び出しでそれを並べ替えることができますか? – Josh

+1

@Joshあなたが助けてくれれば、あなたはそれを受け入れることができる 'sort_values()'を追加することができます: - ) – Wen

+0

ありがとう、私はそれを正しく受け入れましたか? – Josh

関連する問題