列が同じ値に従う場合に行の合計を取得する方法は?

スーリヤ・ラウル

私は次のようなデータセットを持っています:

 time(secs) setup
     40     setup1
     30     setup1       
     20     setup1
     10     setup2
     20     setup2 
     10     setup1
     30     setup1
     30     setup2
     40     setup2
     10     setup3
     20     setup3

次のようなpandas dataframe応じて、行の合計を取得したいと思いsetupます。

  time(secs)  setup
    90        setup1
    30        setup2
    40        setup1
    70        setup2
    30        setup3

しかし、groupby()関数を使用することによって

  df.groupby(['setup']).sum()

私は次のように結果を得ています:

  setup      time 

  setup1      130 
  setup2      100
  setup3       30

この問題の解決にご協力ください...

ありがとうございました !!!

ジェズリール

GROUPBYと集計sumfirstヘルパーによってSeriesによってcumsumによって比較したのshiftSeries.ne (!=)

df1 = (df.groupby(df['setup'].ne(df['setup'].shift()).cumsum(), as_index=False)
         .agg({'time(secs)':'sum', 'setup':'first'}))
print (df1)
   time(secs)   setup
0          90  setup1
1          30  setup2
2          40  setup1
3          70  setup2
4          30  setup3

詳細:

print (df['setup'].ne(df['setup'].shift()).cumsum())
0     1
1     1
2     1
3     2
4     2
5     3
6     3
7     4
8     4
9     5
10    5
Name: setup, dtype: int32

新しい列を使用した同様のソリューション:

df['groups'] = df['setup'].ne(df['setup'].shift()).cumsum()
print (df)
    time(secs)   setup  groups
0           40  setup1       1
1           30  setup1       1
2           20  setup1       1
3           10  setup2       2
4           20  setup2       2
5           10  setup1       3
6           30  setup1       3
7           30  setup2       4
8           40  setup2       4
9           10  setup3       5
10          20  setup3       5

df1 = (df.groupby('groups')
         .agg({'time(secs)':'sum', 'setup':'first'})
         .reset_index(drop=True))

df1 = (df.groupby(['groups', 'setup'])['time(secs)'].sum()
         .reset_index(level=0, drop=True)
         .reset_index())

print (df1)
   time(secs)   setup
0          90  setup1
1          30  setup2
2          40  setup1
3          70  setup2
4          30  setup3

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

同じ値の場合に列を合計する方法

分類Dev

MySQL 8で次の行の値が現在の行の値と同じ場合に期間の合計を取得する方法

分類Dev

配列がPHPの葯配列値の値と同じ値を持っている場合に同じ値を取得する方法は?

分類Dev

SQL Serverで別の列が同じである場合に、列の値が最小の行を取得する

分類Dev

2つの値が同じ場合に計算を実行する

分類Dev

異なる列に同じ組み合わせの値が存在する場合は、行を削除します

分類Dev

同じ値を含む別の行に従って行の値を合計するにはどうすればよいですか?

分類Dev

別の列(同じ行)のセルに値がある場合、ある列のセルに値を指定するにはどうすればよいですか?

分類Dev

値が同じである場合に行の値を変更する方法

分類Dev

特定の列に同じ値を持つ行を合計する方法

分類Dev

同じ行の別の列にnullがある場合は、列の値を前の行と連結します

分類Dev

列 A と列 B の値が同じ場合、行全体を非表示にする

分類Dev

1つの列に同じ値がある場合は、行を結合します

分類Dev

列が同じ値の場合に SQL 値をグループ化する方法

分類Dev

値が間隔の間にある場合は、別の列の同じ行の値を選択します

分類Dev

MATLAB。2番目の列の行の値が同じである場合、最初の列のすべての行を合計するにはどうすればよいですか?

分類Dev

同じ値の行が複数ある場合、mysqlの結果から単一の値を取得するにはどうすればよいですか?

分類Dev

同じ行の別の列が何かに等しい場合、列の値をカウントするにはどうすればよいですか?

分類Dev

行と同じテーブルに値の合計を表示するにはどうすればよいですか(caseステートメントの場合)?

分類Dev

Numpyを使用して、各列の合計が同じ値になるように配列内の行の組み合わせを検索します

分類Dev

2つの多次元配列をマージし、両方の配列に同じIDが存在する場合は値を合計する

分類Dev

列の名前が同じ場合に左結合する方法

分類Dev

列の値が同じである間に値を合計する

分類Dev

特定の基準に従って同じディメンションに異なる値がある場合、ディメンションテーブルの設計を実装するにはどうすればよいですか?

分類Dev

Excel-列aの値が同じ場合に列bに値を入力する方法

分類Dev

他の列がsqlite3で同じである場合にのみ列の合計をクエリする方法は?

分類Dev

両方の値から値が同じでない場合に配列から配列値を削除する方法

分類Dev

値に基づいて同じ列の上記の7行を合計する

分類Dev

pyspark列の値が同じ場合、列の値を組み合わせるにはどうすればよいですか

Related 関連記事

  1. 1

    同じ値の場合に列を合計する方法

  2. 2

    MySQL 8で次の行の値が現在の行の値と同じ場合に期間の合計を取得する方法

  3. 3

    配列がPHPの葯配列値の値と同じ値を持っている場合に同じ値を取得する方法は?

  4. 4

    SQL Serverで別の列が同じである場合に、列の値が最小の行を取得する

  5. 5

    2つの値が同じ場合に計算を実行する

  6. 6

    異なる列に同じ組み合わせの値が存在する場合は、行を削除します

  7. 7

    同じ値を含む別の行に従って行の値を合計するにはどうすればよいですか?

  8. 8

    別の列(同じ行)のセルに値がある場合、ある列のセルに値を指定するにはどうすればよいですか?

  9. 9

    値が同じである場合に行の値を変更する方法

  10. 10

    特定の列に同じ値を持つ行を合計する方法

  11. 11

    同じ行の別の列にnullがある場合は、列の値を前の行と連結します

  12. 12

    列 A と列 B の値が同じ場合、行全体を非表示にする

  13. 13

    1つの列に同じ値がある場合は、行を結合します

  14. 14

    列が同じ値の場合に SQL 値をグループ化する方法

  15. 15

    値が間隔の間にある場合は、別の列の同じ行の値を選択します

  16. 16

    MATLAB。2番目の列の行の値が同じである場合、最初の列のすべての行を合計するにはどうすればよいですか?

  17. 17

    同じ値の行が複数ある場合、mysqlの結果から単一の値を取得するにはどうすればよいですか?

  18. 18

    同じ行の別の列が何かに等しい場合、列の値をカウントするにはどうすればよいですか?

  19. 19

    行と同じテーブルに値の合計を表示するにはどうすればよいですか(caseステートメントの場合)?

  20. 20

    Numpyを使用して、各列の合計が同じ値になるように配列内の行の組み合わせを検索します

  21. 21

    2つの多次元配列をマージし、両方の配列に同じIDが存在する場合は値を合計する

  22. 22

    列の名前が同じ場合に左結合する方法

  23. 23

    列の値が同じである間に値を合計する

  24. 24

    特定の基準に従って同じディメンションに異なる値がある場合、ディメンションテーブルの設計を実装するにはどうすればよいですか?

  25. 25

    Excel-列aの値が同じ場合に列bに値を入力する方法

  26. 26

    他の列がsqlite3で同じである場合にのみ列の合計をクエリする方法は?

  27. 27

    両方の値から値が同じでない場合に配列から配列値を削除する方法

  28. 28

    値に基づいて同じ列の上記の7行を合計する

  29. 29

    pyspark列の値が同じ場合、列の値を組み合わせるにはどうすればよいですか

ホットタグ

アーカイブ