Groupby 쿼리의 결과로 DF에서 행을 제거하는 방법은 무엇입니까?

CH2231

이 Pandas 데이터 프레임이 있습니다.

df = pd.DataFrame({'site': ['a', 'a', 'a', 'b', 'b', 'b', 'a', 'a', 'a'], 'day': [1, 1, 1, 1, 1, 1, 2, 2, 2],
                   'hour': [1, 2, 3, 1, 2, 3, 1, 2, 3], 'clicks': [100, 200, 50, 0, 0, 0, 10, 0, 20]})

#   site  day  hour  clicks
# 0    a    1     1     100
# 1    a    1     2     200
# 2    a    1     3      50
# 3    b    1     1       0
# 4    b    1     2       0
# 5    b    1     3       0
# 6    a    2     1      10
# 7    a    2     2       0
# 8    a    2     3      20

그리고 클릭 수가 0 인 사이트 / 일의 모든 행을 제거하고 싶습니다. 따라서 위의 예에서 site = 'b'및 day = 1 인 행을 제거하고 싶습니다.

기본적으로 그룹화하여 하루 / 사이트의 합계가 0 인 위치를 표시 할 수 있습니다.

print(df.groupby(['site', 'day'])['clicks'].sum() == 0)

그러나 이제 해당 조건이 적용되는 원래 데이터 프레임에서 행을 제거하는 간단한 방법은 무엇입니까? 지금까지 내가 가지고있는 해결책은 그룹을 반복하고 사이트 / 일의 모든 튜플을 목록에 저장 한 다음 해당 사이트 / 일 조합이있는 모든 행을 개별적으로 제거하는 것입니다. 작동하지만 그 결과를 얻기 위해 더 기능적이고 우아한 방법이 있어야한다고 확신합니다.

스콧 보스턴

옵션 1

사용 groupby, transform및 부울 색인 :

df[df.groupby(['site', 'day'])['clicks'].transform('sum') != 0]

산출:

  site  day  hour  clicks
0    a    1     1     100
1    a    1     2     200
2    a    1     3      50
6    a    2     1      10
7    a    2     2       0
8    a    2     3      20

옵션 2

groupby사용 filter:

df.groupby(['site', 'day']).filter(lambda x: x['clicks'].sum() != 0)

산출:

  site  day  hour  clicks
0    a    1     1     100
1    a    1     2     200
2    a    1     3      50
6    a    2     1      10
7    a    2     2       0
8    a    2     3      20

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

내 쿼리 결과에서 반전 된 중복을 제거하는 방법은 무엇입니까?

분류에서Dev

Laravel에서 groupBy 쿼리로 열을 합산하는 방법은 무엇입니까?

분류에서Dev

다른 DF의 개수로 한 DF의 행을 제거하는 방법은 무엇입니까?

분류에서Dev

JS Array에서 빈 후행 값과 캐리지 리턴을 제거하는 방법은 무엇입니까?

분류에서Dev

iOS의 sqlite에서 하나의 쿼리로 여러 select 문을 실행하는 방법은 무엇입니까?

분류에서Dev

mysql 쿼리에서 결정된 양의 행을 필터링하는 방법은 무엇입니까?

분류에서Dev

다른 DataFrame을 기반으로 열에서 DataFrame의 행을 제거하는 방법은 무엇입니까?

분류에서Dev

다른 테이블의 조인 쿼리에서 결과 값을 계산하는 방법은 무엇입니까?

분류에서Dev

R에서 이전 행의 결과를 기반으로 값을 계산하는 방법은 무엇입니까?

분류에서Dev

SQL 쿼리 결과에서 행을 여러 번 반복하는 방법은 무엇입니까?

분류에서Dev

테이블 X에 대한 쿼리 결과를 기반으로 테이블 Y의 행을 반환하는 방법은 무엇입니까?

분류에서Dev

참조 테이블의 열에서 최대 값으로 행을 쿼리하는 방법은 무엇입니까?

분류에서Dev

PL / SQL-서로 다른 쿼리의 값을 하나의 결과 집합으로 연결하는 방법은 무엇입니까?

분류에서Dev

TFS 2015의 쿼리 결과에 대한 이메일을 예약하는 방법은 무엇입니까?

분류에서Dev

열의 최대 값과 해당 행의 해당 열을 제공하는 Oracle SQL에서 데이터를 쿼리하는 방법은 무엇입니까?

분류에서Dev

datediff 결과에서 후행 0을 제거하는 방법은 무엇입니까?

분류에서Dev

정적 쿼리의 결과를 기반으로 Gatsby에서 초기 상태 값을 설정하는 방법은 무엇입니까?

분류에서Dev

Stream Analytics 쿼리에서 쿼리의 모든 결과를 연결하는 방법은 무엇입니까?

분류에서Dev

Sesame : 쿼리 중에 추론을 제거하는 방법은 무엇입니까?

분류에서Dev

한 df에서 다른 df 시리즈로 열 이름을 인덱싱하는 방법은 무엇입니까?

분류에서Dev

PHP만으로 codition의 쿼리 결과 값을 합산하는 방법은 무엇입니까?

분류에서Dev

StartWith () 결과를 기반으로 Powershell에서 실행 흐름을 제어하는 방법은 무엇입니까?

분류에서Dev

다음 쿼리에서 한 쿼리의 결과를 사용하는 방법은 무엇입니까?

분류에서Dev

두 번째 쿼리에서 첫 번째 쿼리의 결과를 사용하는 방법은 무엇입니까?

분류에서Dev

Python의 groupby 함수에서 얻은 수단으로 열을 만드는 방법은 무엇입니까?

분류에서Dev

postgresql에서 쿼리로 "\ dp"를 수행하는 방법은 무엇입니까?

분류에서Dev

그리드에서 블록면을 무작위로 제거하는 방법은 무엇입니까?

분류에서Dev

다른 벡터의 값과 일치하는 행렬에서 모든 행을 제거하는 방법은 무엇입니까?

분류에서Dev

SQL에서 하위 쿼리 출력과 행을 비교하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    내 쿼리 결과에서 반전 된 중복을 제거하는 방법은 무엇입니까?

  2. 2

    Laravel에서 groupBy 쿼리로 열을 합산하는 방법은 무엇입니까?

  3. 3

    다른 DF의 개수로 한 DF의 행을 제거하는 방법은 무엇입니까?

  4. 4

    JS Array에서 빈 후행 값과 캐리지 리턴을 제거하는 방법은 무엇입니까?

  5. 5

    iOS의 sqlite에서 하나의 쿼리로 여러 select 문을 실행하는 방법은 무엇입니까?

  6. 6

    mysql 쿼리에서 결정된 양의 행을 필터링하는 방법은 무엇입니까?

  7. 7

    다른 DataFrame을 기반으로 열에서 DataFrame의 행을 제거하는 방법은 무엇입니까?

  8. 8

    다른 테이블의 조인 쿼리에서 결과 값을 계산하는 방법은 무엇입니까?

  9. 9

    R에서 이전 행의 결과를 기반으로 값을 계산하는 방법은 무엇입니까?

  10. 10

    SQL 쿼리 결과에서 행을 여러 번 반복하는 방법은 무엇입니까?

  11. 11

    테이블 X에 대한 쿼리 결과를 기반으로 테이블 Y의 행을 반환하는 방법은 무엇입니까?

  12. 12

    참조 테이블의 열에서 최대 값으로 행을 쿼리하는 방법은 무엇입니까?

  13. 13

    PL / SQL-서로 다른 쿼리의 값을 하나의 결과 집합으로 연결하는 방법은 무엇입니까?

  14. 14

    TFS 2015의 쿼리 결과에 대한 이메일을 예약하는 방법은 무엇입니까?

  15. 15

    열의 최대 값과 해당 행의 해당 열을 제공하는 Oracle SQL에서 데이터를 쿼리하는 방법은 무엇입니까?

  16. 16

    datediff 결과에서 후행 0을 제거하는 방법은 무엇입니까?

  17. 17

    정적 쿼리의 결과를 기반으로 Gatsby에서 초기 상태 값을 설정하는 방법은 무엇입니까?

  18. 18

    Stream Analytics 쿼리에서 쿼리의 모든 결과를 연결하는 방법은 무엇입니까?

  19. 19

    Sesame : 쿼리 중에 추론을 제거하는 방법은 무엇입니까?

  20. 20

    한 df에서 다른 df 시리즈로 열 이름을 인덱싱하는 방법은 무엇입니까?

  21. 21

    PHP만으로 codition의 쿼리 결과 값을 합산하는 방법은 무엇입니까?

  22. 22

    StartWith () 결과를 기반으로 Powershell에서 실행 흐름을 제어하는 방법은 무엇입니까?

  23. 23

    다음 쿼리에서 한 쿼리의 결과를 사용하는 방법은 무엇입니까?

  24. 24

    두 번째 쿼리에서 첫 번째 쿼리의 결과를 사용하는 방법은 무엇입니까?

  25. 25

    Python의 groupby 함수에서 얻은 수단으로 열을 만드는 방법은 무엇입니까?

  26. 26

    postgresql에서 쿼리로 "\ dp"를 수행하는 방법은 무엇입니까?

  27. 27

    그리드에서 블록면을 무작위로 제거하는 방법은 무엇입니까?

  28. 28

    다른 벡터의 값과 일치하는 행렬에서 모든 행을 제거하는 방법은 무엇입니까?

  29. 29

    SQL에서 하위 쿼리 출력과 행을 비교하는 방법은 무엇입니까?

뜨겁다태그

보관