データフレーム列の合計に基づいてパンダシリーズを作成する

このデータフレームを考えると:

df
       animal location  number
0       lions     zoo1      10
1      tigers     zoo2     200
2       bears     zoo2     300
3        ohmy     zoo2     400
4   antelopes     zoo1      20
5  orangutans     zoo2     500
6      zebras     zoo1      30

動物園ごとに上位3匹の動物を見つけ、動物の種類に関係なく合計して、どの動物園が最も動物が多いかをランク付けする必要があります。場所や動物で選択してグループ化できるようになりました。今やるべきことは、場所をキーとし、各場所の合計を値とするシリーズを作成することだと思いますが、私は立ち往生。(それがそれにアプローチするための最良の方法ではない場合、私は提案を受け入れます。)

df.set_index(['location','number'], inplace=True)
df.groupby(level=[0,1]).sum().reset_index().sort_values(['location', 'number'], ascending=[1,0]).groupby('location').head(3)
  location  number      animal
2     zoo1      30      zebras
1     zoo1      20   antelopes
0     zoo1      10       lions
6     zoo2     500  orangutans
5     zoo2     400        ohmy
4     zoo2     300       bears

sum()このコンテキストでは何もしていないようですが、何かを持っているgroupby()必要があり、もっと良いものがあるかどうかわかりません。)ここから探しているのは次のとおりです。

zoo2   1200
zoo1   60

初期dfを作成するコード:

df = pd.DataFrame({'animal': ['lions', 'tigers', 'bears', 'ohmy', 'antelopes', 'orangutans','zebras'],
    'location': ['zoo1', 'zoo2', 'zoo2', 'zoo2', 'zoo1', 'zoo2', 'zoo1'],
    'number': [10, 200, 300, 400, 20, 500, 30]})
ansev

初期データフレームの使用:

df
       animal location  number
0       lions     zoo1      10
1      tigers     zoo2     200
2       bears     zoo2     300
3        ohmy     zoo2     400
4   antelopes     zoo1      20
5  orangutans     zoo2     500
6      zebras     zoo1      30

groupbyを使用する

df.groupby('location')['number'].apply(lambda x: x.sort_values(ascending=False).head(3).sum())

出力:

location
zoo1      60
zoo2    1200
Name: number, dtype: int64

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

他のパンダのデータフレームに基づいてシリーズを更新する方法

分類Dev

1つのシリーズに基づいてデータフレームパンダを変更する

分類Dev

比較に基づいてパンダシリーズのデータフレームを更新する

分類Dev

列名の条件に基づいてパンダデータフレームの列値を合計します

分類Dev

.sum()の合計に基づいてパンダシリーズをフィルタリングする

分類Dev

列の制約に基づいてパンダデータフレームの集計を処理する

分類Dev

別のデータフレームに基づいてパンダに新しい列を作成する

分類Dev

年に基づいてパンダデータフレームに複数の列を作成する方法

分類Dev

リスト列に基づいて2つのパンダデータフレームを結合します

分類Dev

他の列の値に基づいてパンダデータフレーム行を作成する

分類Dev

列の値に基づいてパンダのデータフレームを結合する

分類Dev

別のデータフレーム値に基づいて、パンダデータフレームの行からシリーズ値を削除します

分類Dev

パンダでの特定のキーの出現に基づいて、長いシリーズをデータフレームに変換する

分類Dev

パンダは外部シリーズに基づいてデータフレームを並べ替えます

分類Dev

他のデータフレームの列値に基づいてパンダデータフレームに列を作成する

分類Dev

2つの列に基づいてパンダデータフレームをリサンプルする

分類Dev

パンダデータフレームのフィールドに基づいて範囲を計算する

分類Dev

文字列のリストに基づいてパンダデータフレームから値を抽出する

分類Dev

パンダは、列の合計のパーセンテージに基づいてデータフレームを分離します

分類Dev

行の集計数に基づいてパンダデータフレームの列を除外します

分類Dev

日付列に基づいてデータフレームをフィルタリングするパンダ

分類Dev

パンダデータフレームの他の列に基づいて組み合わせを作成する方法

分類Dev

列の値に基づいて複数のパンダデータフレームを作成します

分類Dev

列の値に基づいてデータフレームを組み合わせるパンダ

分類Dev

パンダデータフレームのキー列に基づいて列を減算する

分類Dev

Python-パンダ-カテゴリ値に基づいて、データフレーム内で複数の列の行を1つの行に結合する

分類Dev

別のデータフレームに基づいてパンダデータフレームを生成する

分類Dev

別の列の値に基づいてパンダデータフレームに列を追加する

分類Dev

基準に基づいてパンダデータフレームの列を選択する

Related 関連記事

  1. 1

    他のパンダのデータフレームに基づいてシリーズを更新する方法

  2. 2

    1つのシリーズに基づいてデータフレームパンダを変更する

  3. 3

    比較に基づいてパンダシリーズのデータフレームを更新する

  4. 4

    列名の条件に基づいてパンダデータフレームの列値を合計します

  5. 5

    .sum()の合計に基づいてパンダシリーズをフィルタリングする

  6. 6

    列の制約に基づいてパンダデータフレームの集計を処理する

  7. 7

    別のデータフレームに基づいてパンダに新しい列を作成する

  8. 8

    年に基づいてパンダデータフレームに複数の列を作成する方法

  9. 9

    リスト列に基づいて2つのパンダデータフレームを結合します

  10. 10

    他の列の値に基づいてパンダデータフレーム行を作成する

  11. 11

    列の値に基づいてパンダのデータフレームを結合する

  12. 12

    別のデータフレーム値に基づいて、パンダデータフレームの行からシリーズ値を削除します

  13. 13

    パンダでの特定のキーの出現に基づいて、長いシリーズをデータフレームに変換する

  14. 14

    パンダは外部シリーズに基づいてデータフレームを並べ替えます

  15. 15

    他のデータフレームの列値に基づいてパンダデータフレームに列を作成する

  16. 16

    2つの列に基づいてパンダデータフレームをリサンプルする

  17. 17

    パンダデータフレームのフィールドに基づいて範囲を計算する

  18. 18

    文字列のリストに基づいてパンダデータフレームから値を抽出する

  19. 19

    パンダは、列の合計のパーセンテージに基づいてデータフレームを分離します

  20. 20

    行の集計数に基づいてパンダデータフレームの列を除外します

  21. 21

    日付列に基づいてデータフレームをフィルタリングするパンダ

  22. 22

    パンダデータフレームの他の列に基づいて組み合わせを作成する方法

  23. 23

    列の値に基づいて複数のパンダデータフレームを作成します

  24. 24

    列の値に基づいてデータフレームを組み合わせるパンダ

  25. 25

    パンダデータフレームのキー列に基づいて列を減算する

  26. 26

    Python-パンダ-カテゴリ値に基づいて、データフレーム内で複数の列の行を1つの行に結合する

  27. 27

    別のデータフレームに基づいてパンダデータフレームを生成する

  28. 28

    別の列の値に基づいてパンダデータフレームに列を追加する

  29. 29

    基準に基づいてパンダデータフレームの列を選択する

ホットタグ

アーカイブ