Pandas Python의 데이터 프레임에서 기간 만들기

라비

나는 지금은 시간을 각각 계산하는 원 데이터 프레임 아래에있는 SOURCE 에서 나쁜 상태.

여기에 이미지 설명 입력

예를 들어, 소스 A는나쁜 상태 에서 2020년 12월 16일 14시 57분 56초2020-12-16-14 : 58 : 01 약 5 초이며, 이는 유사 출처는 서로 다른 시간에 대한 나쁜 상태도 우표. Bad 상태 일 때마다 각 소스의 기간을 계산하고 싶었습니다.

여기에 이미지 설명 입력

다음은 데이터 프레임 코드입니다.

import pandas as pd
import datetime

times=[datetime.datetime(2020, 12, 16, 14, 57, 56, 647689),datetime.datetime(2020, 12, 16, 14, 57, 59, 650766),datetime.datetime(2020, 12, 16, 14, 58, 1, 655858),datetime.datetime(2020, 12, 16, 14, 58, 4, 657299),datetime.datetime(2020, 12, 16, 14, 58, 5, 661615),datetime.datetime(2020, 12, 16, 14, 58, 6, 662729),datetime.datetime(2020, 12, 16, 14, 58, 10, 663151),datetime.datetime(2020, 12, 16, 14, 58, 13, 664116),datetime.datetime(2020, 12, 16, 14, 58, 16, 664501),datetime.datetime(2020, 12, 16, 14, 58, 17, 668526)]
source=['A','A','A','A','A','A','A','B','B','B']
status=['Bad','Bad','Good','Bad','Bad','Good','Good','Good','Good','Good']
df=pd.DataFrame({'time':times, 'source':source,'status':status})
Asish M.
In [299]: df
Out[299]:
                        time source status  grp
0 2020-12-16 14:57:56.647689      A    Bad    1
1 2020-12-16 14:57:59.650766      A    Bad    1
2 2020-12-16 14:58:01.655858      A   Good    2
3 2020-12-16 14:58:04.657299      A    Bad    3
4 2020-12-16 14:58:05.661615      A    Bad    3
5 2020-12-16 14:58:06.662729      A   Good    4
6 2020-12-16 14:58:10.663151      A   Good    4
7 2020-12-16 14:58:13.664116      B   Good    1
8 2020-12-16 14:58:16.664501      B   Good    1
9 2020-12-16 14:58:17.668526      B   Good    1

In [340]: df['time2'] = df.groupby('source').time.shift(-1)

In [341]: df['grp'] = df.groupby('source').status.transform(lambda x: (x != x.shift()).cumsum())


In [343]: df[df.status == 'Bad'].groupby(['source', 'grp']).agg({'time': min, 'time2': max}).reset_index().drop('grp', axis=1)
Out[343]:
  source                       time                      time2
0      A 2020-12-16 14:57:56.647689 2020-12-16 14:58:01.655858
1      A 2020-12-16 14:58:04.657299 2020-12-16 14:58:06.662729

논리

  1. 다음 타임 스탬프를 갖기 위해 이동 된 시간 열을 생성합니다 (소스가 혼합되는 것을 원하지 않는다고 가정하므로 그룹 별 소스가 필요함)
  2. grp이 연속 상태가 동일한 값을 얻을 수 있도록 열 소스 내의 각 상태들에 대한 그룹 번호를 할당
  3. 이것은 간단합니다. "Bad"그룹을 필터링 한 다음 source 및 grp 열을 기준으로 그룹화하고 필요한 aggs를 수행하면됩니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Python으로 Pandas 데이터 프레임의 기존 날짜 시간 열에서 요일 열 만들기

분류에서Dev

Pandas 데이터 프레임의 서버 oclumns에서 목록 만들기

분류에서Dev

Pandas 데이터 프레임의 다른 열에서 새 열 만들기

분류에서Dev

Pandas의 Groupedby 데이터 프레임에서 목록 목록 만들기

분류에서Dev

Pandas의 데이터 프레임 및 행렬에서 새 행렬 만들기

분류에서Dev

Dict 목록의 요소에서 Pandas 데이터 프레임 만들기

분류에서Dev

Pandas의 사전 사전에서 데이터 프레임 사전 만들기

분류에서Dev

목록에서 Pandas의 순열 데이터 프레임 만들기

분류에서Dev

다른 데이터 프레임의 열 값을 기반으로 pandas 데이터 프레임에 열 만들기

분류에서Dev

사전 사전에서 pandas 데이터 프레임 만들기

분류에서Dev

Pandas 데이터 프레임에서 문장 만들기

분류에서Dev

목록 사전에서 pandas 데이터 프레임 만들기

분류에서Dev

중첩 된 dict에서 Pandas 데이터 프레임 만들기

분류에서Dev

Multiindex pandas 데이터 프레임에서 색인 만들기

분류에서Dev

Pandas 데이터 프레임에서 여러 플롯 만들기

분류에서Dev

사전 요소에서 Pandas 데이터 프레임 만들기

분류에서Dev

Python 텍스트 파일에서 Pandas를 사용하여 두 개의 데이터 프레임 만들기

분류에서Dev

다른 열을 기반으로 python pandas 데이터 프레임에서 최대 하위 목록 만들기

분류에서Dev

Python에서 Pandas를 사용하지 않고 str에서 데이터 프레임 만들기

분류에서Dev

기존 데이터 프레임에서 다중 인덱스 열 Pandas 데이터 프레임 만들기

분류에서Dev

문자열 Python에서 데이터 프레임 만들기

분류에서Dev

Pandas의 데이터 프레임 사이에서 행 빼기

분류에서Dev

for 루프에서 다른 이름의 데이터 프레임 만들기-Python?

분류에서Dev

PANDAS (Pandas의 데이터 프레임에서 datetime 및 ffill () 데이터 채우기)

분류에서Dev

다른 열의 값을 기반으로 Python 3 (Pandas) 데이터 프레임에 새 열 만들기

분류에서Dev

Python : 정수 범위의 값을 기반으로 Pandas 데이터 프레임에 그룹 열 만들기

분류에서Dev

Pandas-동일한 데이터 프레임의 다른 행에서 값을 가져 오는 새 열 만들기

분류에서Dev

Pandas 데이터 프레임의 셀 내부 문자열에서 사전 만들기

분류에서Dev

Flask의 Pandas 데이터 프레임 내에서 클릭 가능한 URL 만들기

Related 관련 기사

  1. 1

    Python으로 Pandas 데이터 프레임의 기존 날짜 시간 열에서 요일 열 만들기

  2. 2

    Pandas 데이터 프레임의 서버 oclumns에서 목록 만들기

  3. 3

    Pandas 데이터 프레임의 다른 열에서 새 열 만들기

  4. 4

    Pandas의 Groupedby 데이터 프레임에서 목록 목록 만들기

  5. 5

    Pandas의 데이터 프레임 및 행렬에서 새 행렬 만들기

  6. 6

    Dict 목록의 요소에서 Pandas 데이터 프레임 만들기

  7. 7

    Pandas의 사전 사전에서 데이터 프레임 사전 만들기

  8. 8

    목록에서 Pandas의 순열 데이터 프레임 만들기

  9. 9

    다른 데이터 프레임의 열 값을 기반으로 pandas 데이터 프레임에 열 만들기

  10. 10

    사전 사전에서 pandas 데이터 프레임 만들기

  11. 11

    Pandas 데이터 프레임에서 문장 만들기

  12. 12

    목록 사전에서 pandas 데이터 프레임 만들기

  13. 13

    중첩 된 dict에서 Pandas 데이터 프레임 만들기

  14. 14

    Multiindex pandas 데이터 프레임에서 색인 만들기

  15. 15

    Pandas 데이터 프레임에서 여러 플롯 만들기

  16. 16

    사전 요소에서 Pandas 데이터 프레임 만들기

  17. 17

    Python 텍스트 파일에서 Pandas를 사용하여 두 개의 데이터 프레임 만들기

  18. 18

    다른 열을 기반으로 python pandas 데이터 프레임에서 최대 하위 목록 만들기

  19. 19

    Python에서 Pandas를 사용하지 않고 str에서 데이터 프레임 만들기

  20. 20

    기존 데이터 프레임에서 다중 인덱스 열 Pandas 데이터 프레임 만들기

  21. 21

    문자열 Python에서 데이터 프레임 만들기

  22. 22

    Pandas의 데이터 프레임 사이에서 행 빼기

  23. 23

    for 루프에서 다른 이름의 데이터 프레임 만들기-Python?

  24. 24

    PANDAS (Pandas의 데이터 프레임에서 datetime 및 ffill () 데이터 채우기)

  25. 25

    다른 열의 값을 기반으로 Python 3 (Pandas) 데이터 프레임에 새 열 만들기

  26. 26

    Python : 정수 범위의 값을 기반으로 Pandas 데이터 프레임에 그룹 열 만들기

  27. 27

    Pandas-동일한 데이터 프레임의 다른 행에서 값을 가져 오는 새 열 만들기

  28. 28

    Pandas 데이터 프레임의 셀 내부 문자열에서 사전 만들기

  29. 29

    Flask의 Pandas 데이터 프레임 내에서 클릭 가능한 URL 만들기

뜨겁다태그

보관