Pandas에서 연속 데이터 그룹의 시작 및 끝 인덱스를 얻는 방법은 무엇입니까?

굴 자르

주어진

import pandas as pd

df = pd.DataFrame({
    "a":  [1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 1, 1, 2, 2, 3, 3, ],
})
print(df)
    a
0   1
1   1
2   1
3   2
4   2
5   2
6   2
7   3
8   3
9   3
10  3
11  1
12  1
13  2
14  2
15  3
16  3

다음 결과를 계산해야합니다.

res_df = pd.DataFrame({
    "starts": [0, 3, 7, 11, 13, 15],
    "ends": [3, 7, 11, 13, 15, 17]
})
print(res_df)
   starts  ends
0       0     3
1       3     7
2       7    11
3      11    13
4      13    15
5      15    17

값이 중복되지 않은 경우 모든 중복 항목을 제로화하고 groupby의 그룹 길이를 유지 한 다음 cumsum과 같은 작업을 수행 할 수 있습니다.

그러나 중복이 있으므로 순서를 유지해야합니다.

팬더에서 이것을 수행하는 방법이 있습니까?


후속 조치 로 계산 비용이 더 적게 드는 경우 df [ "a"] == 3에 대해서만 계산 starts하고 싶습니다 ends.

꽝황

이것을 시도해 봅시다 :

blocks = df['a'].diff().ne(0).cumsum()

# depending on your mask
out = (df[some_mask]             
         .index.to_frame()
         .groupby(blocks)[0]
         .agg(['min','max'])
      )
out['max'] += 1

산출:

   min  max
a          
1    0    3
2    3    7
3    7   11
4   11   13
5   13   15
6   15   17

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Dart의 RegEx 텍스트 내에서 그룹의 시작 및 끝 인덱스를 얻는 방법은 무엇입니까?

분류에서Dev

Pandas 데이터 프레임에서 연속되는 항목의 시작 및 끝 인덱스 찾기

분류에서Dev

Java에서 HTML 태그의 시작 및 끝 위치를 얻는 방법은 무엇입니까?

분류에서Dev

신속하게 배열 시작 및 끝 인덱스를 설정하는 방법은 무엇입니까?

분류에서Dev

Pandas 데이터 프레임에서 k 연속 행의 합계를 얻는 방법은 무엇입니까?

분류에서Dev

Pandas 데이터 프레임의 각 행에 대해 인덱스 값, 열 이름 및 열 데이터를 인쇄하는 방법은 무엇입니까?

분류에서Dev

groupby 또는 resample을 사용하여 시간별 데이터를 다운 샘플링하여 Python에서 연중 일 시간 인덱스에 따라 데이터를 그룹화하는 방법은 무엇입니까?

분류에서Dev

PHP에서 시작 및 끝 문자를 사용하여 문자열의 하위 문자열을 얻는 방법은 무엇입니까?

분류에서Dev

Vim에서 시작과 끝 HTML 태그 사이를 이동하는 방법은 무엇입니까?

분류에서Dev

배열 인덱스가 임의의 끝점과 시작점 사이에 있는지 테스트하는 방법은 무엇입니까?

분류에서Dev

정규식을 사용하여 Python의 이미지 경로에서 시작 텍스트와 끝 텍스트를 얻는 방법은 무엇입니까?

분류에서Dev

서브 루틴의 시작 및 끝 라인 번호로 펄 서브 루틴 목록을 얻는 방법은 무엇입니까?

분류에서Dev

인덱스 및 열 레이블을 무시하면서 Pandas DataFrame에서 읽는 방법은 무엇입니까?

분류에서Dev

1D NumPy 배열의 시작과 끝에서 순차적 NaN에 대한 인덱스를 찾는 방법은 무엇입니까?

분류에서Dev

Pandas 데이터 프레임의 인덱스 0에서 다른 열에 차별화 시리즈 결과를 추가하는 방법은 무엇입니까?

분류에서Dev

Pandas에서 그룹 및 기타 집계의 크기를 얻는 방법은 무엇입니까?

분류에서Dev

laravel의 데이터베이스 열에서 월과 연도를 얻는 방법은 무엇입니까?

분류에서Dev

프로세스에서 수정하지 않고 Carbon 인스턴스의 시작 및 연말을 얻는 방법은 무엇입니까?

분류에서Dev

R에서 여러 열로 데이터를 내림차순으로 그룹화 한 다음 모든 그룹에 1부터 시작하는 인덱스를 제공하는 방법은 무엇입니까?

분류에서Dev

동적 그룹화에 대한 Python pandas 소계, 합계를 항상 그룹화의 끝에 표시하는 방법은 무엇입니까?

분류에서Dev

Android의 Firebase 실시간 데이터베이스에서 가치를 얻는 방법은 무엇입니까?

분류에서Dev

Laravel의 데이터베이스 테이블 열에서 날짜 및 시간을 얻는 방법은 무엇입니까?

분류에서Dev

Mapbox GL JS에서 현재 타일의 X 및 Y 인덱스를 얻는 방법은 무엇입니까?

분류에서Dev

다른 데이터 프레임에서 인덱스를 가져와 두 데이터 프레임의 열 차이를 얻는 방법은 무엇입니까?

분류에서Dev

jjsp 페이지에서 ModelMap 속성의 데이터를 표시하는 방법은 무엇입니까?

분류에서Dev

내 데이터베이스에서 중복을 제거하고 인덱스를 계속 연결할 수있는 방법은 무엇입니까?

분류에서Dev

jQuery에서 display : block 속성이있는 div의 인덱스를 찾는 방법은 무엇입니까?

분류에서Dev

vim에서 "command-right"및 "command-left"를 Mac에서 줄의 시작과 줄의 끝으로 매핑하는 방법은 무엇입니까?

분류에서Dev

Pandas 데이터 프레임의 다중 인덱스에서 외부 수준 인덱스를 변경하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    Dart의 RegEx 텍스트 내에서 그룹의 시작 및 끝 인덱스를 얻는 방법은 무엇입니까?

  2. 2

    Pandas 데이터 프레임에서 연속되는 항목의 시작 및 끝 인덱스 찾기

  3. 3

    Java에서 HTML 태그의 시작 및 끝 위치를 얻는 방법은 무엇입니까?

  4. 4

    신속하게 배열 시작 및 끝 인덱스를 설정하는 방법은 무엇입니까?

  5. 5

    Pandas 데이터 프레임에서 k 연속 행의 합계를 얻는 방법은 무엇입니까?

  6. 6

    Pandas 데이터 프레임의 각 행에 대해 인덱스 값, 열 이름 및 열 데이터를 인쇄하는 방법은 무엇입니까?

  7. 7

    groupby 또는 resample을 사용하여 시간별 데이터를 다운 샘플링하여 Python에서 연중 일 시간 인덱스에 따라 데이터를 그룹화하는 방법은 무엇입니까?

  8. 8

    PHP에서 시작 및 끝 문자를 사용하여 문자열의 하위 문자열을 얻는 방법은 무엇입니까?

  9. 9

    Vim에서 시작과 끝 HTML 태그 사이를 이동하는 방법은 무엇입니까?

  10. 10

    배열 인덱스가 임의의 끝점과 시작점 사이에 있는지 테스트하는 방법은 무엇입니까?

  11. 11

    정규식을 사용하여 Python의 이미지 경로에서 시작 텍스트와 끝 텍스트를 얻는 방법은 무엇입니까?

  12. 12

    서브 루틴의 시작 및 끝 라인 번호로 펄 서브 루틴 목록을 얻는 방법은 무엇입니까?

  13. 13

    인덱스 및 열 레이블을 무시하면서 Pandas DataFrame에서 읽는 방법은 무엇입니까?

  14. 14

    1D NumPy 배열의 시작과 끝에서 순차적 NaN에 대한 인덱스를 찾는 방법은 무엇입니까?

  15. 15

    Pandas 데이터 프레임의 인덱스 0에서 다른 열에 차별화 시리즈 결과를 추가하는 방법은 무엇입니까?

  16. 16

    Pandas에서 그룹 및 기타 집계의 크기를 얻는 방법은 무엇입니까?

  17. 17

    laravel의 데이터베이스 열에서 월과 연도를 얻는 방법은 무엇입니까?

  18. 18

    프로세스에서 수정하지 않고 Carbon 인스턴스의 시작 및 연말을 얻는 방법은 무엇입니까?

  19. 19

    R에서 여러 열로 데이터를 내림차순으로 그룹화 한 다음 모든 그룹에 1부터 시작하는 인덱스를 제공하는 방법은 무엇입니까?

  20. 20

    동적 그룹화에 대한 Python pandas 소계, 합계를 항상 그룹화의 끝에 표시하는 방법은 무엇입니까?

  21. 21

    Android의 Firebase 실시간 데이터베이스에서 가치를 얻는 방법은 무엇입니까?

  22. 22

    Laravel의 데이터베이스 테이블 열에서 날짜 및 시간을 얻는 방법은 무엇입니까?

  23. 23

    Mapbox GL JS에서 현재 타일의 X 및 Y 인덱스를 얻는 방법은 무엇입니까?

  24. 24

    다른 데이터 프레임에서 인덱스를 가져와 두 데이터 프레임의 열 차이를 얻는 방법은 무엇입니까?

  25. 25

    jjsp 페이지에서 ModelMap 속성의 데이터를 표시하는 방법은 무엇입니까?

  26. 26

    내 데이터베이스에서 중복을 제거하고 인덱스를 계속 연결할 수있는 방법은 무엇입니까?

  27. 27

    jQuery에서 display : block 속성이있는 div의 인덱스를 찾는 방법은 무엇입니까?

  28. 28

    vim에서 "command-right"및 "command-left"를 Mac에서 줄의 시작과 줄의 끝으로 매핑하는 방법은 무엇입니까?

  29. 29

    Pandas 데이터 프레임의 다중 인덱스에서 외부 수준 인덱스를 변경하는 방법은 무엇입니까?

뜨겁다태그

보관