날짜별로 데이터 프레임 늘리기

쿼티

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

ID      date  X1  X2  Y
 A  16-07-19  58  50  0
 A  21-07-19  28  74  0
 B  25-07-19  54  65  1
 B  27-07-19  50  30  0
 B  29-07-19  81  61  0
 C  30-07-19  55  29  0
 C  31-07-19  97  69  1
 C  03-08-19  13  48  1
 D  19-07-18  77  27  1
 D  20-07-18  68  50  1
 D  22-07-18  89  57  1
 D  23-07-18  46  70  0
 D  26-07-18  56  13  0
 E  06-08-19  47  35  1

date첫 번째 행에서 각 ID ( groupby) 의 마지막 행까지 데이터를 "확장" 하고 누락 된 값을 NaN.

예 : ID A에는 16-07-19, 및 에 두 개의 행이 있습니다 21-07-19. 구현 후 2019 년 7 월 16 일부터 21 일까지 6 행이 있어야합니다.

예상 결과:

ID      date    X1    X2    Y
 A  16-07-19  58.0  50.0  0.0
 A  17-07-19   NaN   NaN  NaN
 A  18-07-19   NaN   NaN  NaN
 A  19-07-19   NaN   NaN  NaN
 A  20-07-19   NaN   NaN  NaN
 A  21-07-19  28.0  74.0  0.0
 B  25-07-19  54.0  65.0  1.0
 B  26-07-19   NaN   NaN  NaN
 B  27-07-19  50.0  30.0  0.0
 B  28-07-19   NaN   NaN  NaN
 B  29-07-19  81.0  61.0  0.0
 C  30-07-19  55.0  29.0  0.0
 C  31-07-19  97.0  69.0  1.0
 C  01-08-19   NaN   NaN  NaN
 C  02-08-19   NaN   NaN  NaN
 C  03-08-19  13.0  48.0  1.0
 D  19-07-18  77.0  27.0  1.0
 D  20-07-18  68.0  50.0  1.0
 D  21-07-18   NaN   NaN  NaN
 D  22-07-18  89.0  57.0  1.0
 D  23-07-18  46.0  70.0  0.0
 D  24-07-18   NaN   NaN  NaN
 D  25-07-18   NaN   NaN  NaN
 D  26-07-18  56.0  13.0  0.0
 E  06-08-19  47.0  35.0  1.0
이스 르엘

DataFrame.asfreq함께 작업하는 그룹별로 사용 DatetimeIndex:

df['date'] = pd.to_datetime(df['date'], dayfirst=True)

cols = df.columns.difference(['date','ID'], sort=False)
df = df.set_index('date').groupby('ID')[cols].apply(lambda x: x.asfreq('d')).reset_index()
print (df)
   ID       date    X1    X2    Y
0   A 2019-07-16  58.0  50.0  0.0
1   A 2019-07-17   NaN   NaN  NaN
2   A 2019-07-18   NaN   NaN  NaN
3   A 2019-07-19   NaN   NaN  NaN
4   A 2019-07-20   NaN   NaN  NaN
5   A 2019-07-21  28.0  74.0  0.0
6   B 2019-07-25  54.0  65.0  1.0
7   B 2019-07-26   NaN   NaN  NaN
8   B 2019-07-27  50.0  30.0  0.0
9   B 2019-07-28   NaN   NaN  NaN
10  B 2019-07-29  81.0  61.0  0.0
11  C 2019-07-30  55.0  29.0  0.0
12  C 2019-07-31  97.0  69.0  1.0
13  C 2019-08-01   NaN   NaN  NaN
14  C 2019-08-02   NaN   NaN  NaN
15  C 2019-08-03  13.0  48.0  1.0
16  D 2018-07-19  77.0  27.0  1.0
17  D 2018-07-20  68.0  50.0  1.0
18  D 2018-07-21   NaN   NaN  NaN
19  D 2018-07-22  89.0  57.0  1.0
20  D 2018-07-23  46.0  70.0  0.0
21  D 2018-07-24   NaN   NaN  NaN
22  D 2018-07-25   NaN   NaN  NaN
23  D 2018-07-26  56.0  13.0  0.0
24  E 2019-08-06  47.0  35.0  1.0

DataFrame.reindex그룹 별 또 다른 아이디어 :

df['date'] = pd.to_datetime(df['date'], dayfirst=True)

cols = df.columns.difference(['date','ID'], sort=False)
f = lambda x: x.reindex(pd.date_range(x.index.min(), x.index.max()))
df = df.set_index('date').groupby('ID')[cols].apply(f).reset_index()

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Pyspark 데이터 프레임으로 이동할 월별 날짜 및 월 찾기

분류에서Dev

날짜 및 도시별로 데이터 프레임 리샘플링 및 집계

분류에서Dev

시간 및 날짜별로 데이터 프레임 리샘플링

분류에서Dev

날짜별로 크기가 다른 두 개의 데이터 프레임 추가

분류에서Dev

다른 데이터 프레임의 열 헤더 멤버십을 기반으로 (날짜 별) Pandas 데이터 프레임의 부울 값 설정 (날짜 별)

분류에서Dev

2 데이터 프레임의 날짜 값을 기반으로 pandas 데이터 프레임 업데이트

분류에서Dev

R에서 날짜별로 데이터 프레임 필터링

분류에서Dev

데이터 프레임-날짜별로 그룹화 된 행에서 처음 0 개 찾기

분류에서Dev

날짜 범위 및 식별자를 기반으로 데이터 프레임 병합

분류에서Dev

r의 날짜별로 데이터 프레임의 열 값 일치 및 바꾸기

분류에서Dev

다른 데이터 프레임의 날짜를 기준으로 데이터 프레임의 값 필터링

분류에서Dev

Pandas의 오늘 날짜 및 기타 조건을 기반으로 데이터 프레임 필터링

분류에서Dev

날짜를 기준으로 데이터 프레임에 데이터 정렬

분류에서Dev

Pandas 열 데이터 프레임을 날짜별로 정렬

분류에서Dev

내 데이터 프레임을 날짜별로 부분 설정

분류에서Dev

날짜별로 데이터 프레임 재구성

분류에서Dev

날짜 열을 기반으로 데이터 프레임 필터링 Pandas

분류에서Dev

날짜 열을 기준으로 데이터 프레임의 행 필터링

분류에서Dev

PySpark 데이터 프레임의 일일 예측을위한 기준 날짜의 월별 날짜

분류에서Dev

날짜 기반 항목으로 Pandas 데이터 프레임 채우기

분류에서Dev

날짜를 기준으로 긴 형식의 두 데이터 프레임 병합

분류에서Dev

날짜 범위를 기반으로 데이터 프레임의 반복 행

분류에서Dev

주어진 날짜 및 시간의 열로 데이터 프레임 만들기

분류에서Dev

R의 날짜를 기반으로 데이터 프레임 행 삭제

분류에서Dev

날짜로 반복하고 pandas 데이터 프레임에 기능 적용

분류에서Dev

tsfresh로 데이터 프레임 기능

분류에서Dev

데이터 프레임에서 누락 된 날짜 채우기

분류에서Dev

데이터 프레임에 대한 날짜 열 만들기

분류에서Dev

NA 값이있는 날짜 범위별로 데이터 프레임 행 확장

Related 관련 기사

  1. 1

    Pyspark 데이터 프레임으로 이동할 월별 날짜 및 월 찾기

  2. 2

    날짜 및 도시별로 데이터 프레임 리샘플링 및 집계

  3. 3

    시간 및 날짜별로 데이터 프레임 리샘플링

  4. 4

    날짜별로 크기가 다른 두 개의 데이터 프레임 추가

  5. 5

    다른 데이터 프레임의 열 헤더 멤버십을 기반으로 (날짜 별) Pandas 데이터 프레임의 부울 값 설정 (날짜 별)

  6. 6

    2 데이터 프레임의 날짜 값을 기반으로 pandas 데이터 프레임 업데이트

  7. 7

    R에서 날짜별로 데이터 프레임 필터링

  8. 8

    데이터 프레임-날짜별로 그룹화 된 행에서 처음 0 개 찾기

  9. 9

    날짜 범위 및 식별자를 기반으로 데이터 프레임 병합

  10. 10

    r의 날짜별로 데이터 프레임의 열 값 일치 및 바꾸기

  11. 11

    다른 데이터 프레임의 날짜를 기준으로 데이터 프레임의 값 필터링

  12. 12

    Pandas의 오늘 날짜 및 기타 조건을 기반으로 데이터 프레임 필터링

  13. 13

    날짜를 기준으로 데이터 프레임에 데이터 정렬

  14. 14

    Pandas 열 데이터 프레임을 날짜별로 정렬

  15. 15

    내 데이터 프레임을 날짜별로 부분 설정

  16. 16

    날짜별로 데이터 프레임 재구성

  17. 17

    날짜 열을 기반으로 데이터 프레임 필터링 Pandas

  18. 18

    날짜 열을 기준으로 데이터 프레임의 행 필터링

  19. 19

    PySpark 데이터 프레임의 일일 예측을위한 기준 날짜의 월별 날짜

  20. 20

    날짜 기반 항목으로 Pandas 데이터 프레임 채우기

  21. 21

    날짜를 기준으로 긴 형식의 두 데이터 프레임 병합

  22. 22

    날짜 범위를 기반으로 데이터 프레임의 반복 행

  23. 23

    주어진 날짜 및 시간의 열로 데이터 프레임 만들기

  24. 24

    R의 날짜를 기반으로 데이터 프레임 행 삭제

  25. 25

    날짜로 반복하고 pandas 데이터 프레임에 기능 적용

  26. 26

    tsfresh로 데이터 프레임 기능

  27. 27

    데이터 프레임에서 누락 된 날짜 채우기

  28. 28

    데이터 프레임에 대한 날짜 열 만들기

  29. 29

    NA 값이있는 날짜 범위별로 데이터 프레임 행 확장

뜨겁다태그

보관