pandas 데이터 프레임에서 누락 된 쌍을 찾고 더미 값으로 채우는 방법

황윤태

여기에 더미 데이터 프레임이 있습니다.

import pandas as pd

df = pd.DataFrame({'Date':[2019-08-06,2019-08-08,2019-08-01,2019-10-12], 'Name':['A','A','B','C'], 'Type':['X','Y','Y','Z']})

3 개 잠재적 가치가 있습니다 Type--- W, X, Y, ZI는 누락 된 한 쌍 찾으려 Name- Type'날짜 값이있는 행 삽입 및 채우기0000-00-00'

따라서이 예에서 A, B, C는 모두 W / B 유형이없고 C에는 X / C에는 Y / A가없고 B에는 Z가 없습니다.

따라서 Date로 8 행을 추가해야합니다. 0000-00-00

요약하자면 내가해야 할 일은 ---

두 열의 누락 된 쌍을 찾고 다른 특정 행을 더미 값으로 채 웁니다.

편집 --- 아래 솔루션에서 ValueError를 발견했기 때문에 더미 데이터 프레임을 편집했습니다.

import pandas as pd

df = pd.DataFrame({'Date':[2019-08-06,2019-08-07,2019-08-08,2019-08-01,2019-10-12], 'Name':['A','A','A','B','C'], 'Type':['X','X','Y','Y','Z']})
이스 르엘

MultiIndex.from_productMultiIndex.levels전달 된 열의 모든 조합의 수준에서 사용 DataFrame.reindex:

df = df.set_index(['Name','Type'])

df = df.reindex(pd.MultiIndex.from_product(df.index.levels), fill_value='0000-00-00')
print (df)
                 Date
Name Type            
A    X     2019-08-06
     Y     2019-08-08
     Z     0000-00-00
B    X     0000-00-00
     Y     2019-08-01
     Z     0000-00-00
C    X     0000-00-00
     Y     0000-00-00
     Z     2019-10-12
     

EDIT : 오류 ValueError:cannot handle a non-unique multi-index!수단은 중복 쌍있다 Name, Type데이터 프로세싱을위한 해결책은 :

df = pd.DataFrame({'Date':['2019-08-06','2019-08-08','2019-08-01','2019-10-12'], 
                   'Name':['A','A','B','C'], 
                   'Type':['X','X','Y','Z'], 
                   'col':list('abcd')})

print (df)
         Date Name Type col
0  2019-08-06    A    X   a
1  2019-08-08    A    X   b <-duplicated pair `A, X` - Name, Type
2  2019-08-01    B    Y   c
3  2019-10-12    C    Z   d

해결책은 먼저 중복을 제거 하고 모든 조합에 DataFrame.duplicated적용 reindex하는 것입니다.

mask = df.duplicated(['Name','Type'])
df1 = df[~mask].set_index(['Name','Type'])

df1 = (df1.reindex(pd.MultiIndex.from_product(df1.index.levels))
          .fillna({'Date':'0000-00-00', 'col':'missing'}).reset_index())
print (df1)
  Name Type        Date      col
0    A    X  2019-08-06        a
1    A    Y  0000-00-00  missing
2    A    Z  0000-00-00  missing
3    B    X  0000-00-00  missing
4    B    Y  2019-08-01        c
5    B    Z  0000-00-00  missing
6    C    X  0000-00-00  missing
7    C    Y  0000-00-00  missing
8    C    Z  2019-10-12        d

그리고 마지막으로 모든 중복 행을 concat다음 과 같이 추가하십시오 .

df = pd.concat([df1, df[mask]]).sort_values(['Name','Type'], ignore_index=True)
print (df)
  Name Type        Date      col
0    A    X  2019-08-06        a
1    A    X  2019-08-08        b
2    A    Y  0000-00-00  missing
3    A    Z  0000-00-00  missing
4    B    X  0000-00-00  missing
5    B    Y  2019-08-01        c
6    B    Z  0000-00-00  missing
7    C    X  0000-00-00  missing
8    C    Y  0000-00-00  missing
9    C    Z  2019-10-12        d

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

분기 별 데이터 프레임을 월별로 변환하고 Pandas에서 누락 된 값 채우기

분류에서Dev

누락 된 값을 다른 데이터 프레임의 값으로 채우는 방법

분류에서Dev

열의 패턴에 따라 Pandas 데이터 프레임에서 누락 된 값을 채우는 방법은 무엇입니까?

분류에서Dev

인덱스에서 두 개의 팬더 데이터 프레임을 병합하지만 누락 된 값을 채우는 방법

분류에서Dev

일부 열 값이 누락 된 데이터 프레임으로 목록을 변환하는 더 빠른 방법

분류에서Dev

Pandas : 대규모 데이터 세트에서 누락 된 값을 채우는 방법은 무엇입니까?

분류에서Dev

Pandas DataFrame에서 누락 된 시간 값을 채우는 방법

분류에서Dev

열이 다른 데이터 프레임에서 누락되거나 알 수없는 값을 나타내는 인코딩 된 값으로 참조되는 Pandas 데이터 프레임에서 NaN 값을 제거하는 방법

분류에서Dev

Pandas 데이터 프레임에서 누락 된 행 값 채우기

분류에서Dev

Pandas 데이터 프레임에서 일정 간격으로 누락 된 관측 값 채우기

분류에서Dev

누락 된 값 채우기 Pandas 데이터 프레임

분류에서Dev

다른 데이터 프레임에서 값이 누락 된 경우 한 데이터 프레임에서 행을 삭제하는 방법은 무엇입니까?

분류에서Dev

누락 된 날짜를 데이터 프레임에 추가하고 Python에서 다른 해당 열을 채우는 방법은 무엇입니까?

분류에서Dev

Pandas 데이터 프레임에서 누락 된 연도 및 분기에 대한 행을 만드는 방법

분류에서Dev

Pandas 데이터 프레임에서 누락 된 연도 / 분기의 열을 0으로 채 웁니다.

분류에서Dev

Pandas 데이터 프레임 열을 문자열 값이 포함 된 목록으로 채우는 방법

분류에서Dev

테이블에서 누락 된 데이터 행을 동적으로 채우는 뷰를 만드는 방법

분류에서Dev

요일 및 시간 데이터로 누락 된 값을 채우는 방법

분류에서Dev

요일 및 시간 데이터로 누락 된 값을 채우는 방법

분류에서Dev

인덱스 증분 Python Pandas 데이터 프레임을 기반으로 누락 된 열 값 찾기 및 추가

분류에서Dev

데이터 프레임에서 누락 된 줄을 생성하는 방법

분류에서Dev

Pandas 데이터 프레임에서 ID로 그룹화 된 모든 열의 각 고유 값에 대한 최소값을 찾는 방법

분류에서Dev

Pandas의 조건에 따라 한 데이터 프레임에서 다른 데이터 프레임으로 누락 된 행을 추가하는 방법은 무엇입니까?

분류에서Dev

다른 열과 다른 데이터 프레임을 일치시키는 값을 기반으로 데이터 프레임의 누락 된 값 채우기

분류에서Dev

날짜 배열에서 누락 된 날짜를 찾고 누락 된 간격을 채우는 방법

분류에서Dev

유사한 행을 사용하여 Python Pandas 데이터 프레임에서 누락 된 행 채우기

분류에서Dev

R-누락 된 값이있는 데이터 프레임을 통해 열 방향으로 lm () 루프

분류에서Dev

json 파일에서 pandas 데이터 프레임으로 키-값 쌍을 읽는 방법은 무엇입니까?

분류에서Dev

Pandas-누락 된 열을 데이터 프레임에 자동으로 추가

Related 관련 기사

  1. 1

    분기 별 데이터 프레임을 월별로 변환하고 Pandas에서 누락 된 값 채우기

  2. 2

    누락 된 값을 다른 데이터 프레임의 값으로 채우는 방법

  3. 3

    열의 패턴에 따라 Pandas 데이터 프레임에서 누락 된 값을 채우는 방법은 무엇입니까?

  4. 4

    인덱스에서 두 개의 팬더 데이터 프레임을 병합하지만 누락 된 값을 채우는 방법

  5. 5

    일부 열 값이 누락 된 데이터 프레임으로 목록을 변환하는 더 빠른 방법

  6. 6

    Pandas : 대규모 데이터 세트에서 누락 된 값을 채우는 방법은 무엇입니까?

  7. 7

    Pandas DataFrame에서 누락 된 시간 값을 채우는 방법

  8. 8

    열이 다른 데이터 프레임에서 누락되거나 알 수없는 값을 나타내는 인코딩 된 값으로 참조되는 Pandas 데이터 프레임에서 NaN 값을 제거하는 방법

  9. 9

    Pandas 데이터 프레임에서 누락 된 행 값 채우기

  10. 10

    Pandas 데이터 프레임에서 일정 간격으로 누락 된 관측 값 채우기

  11. 11

    누락 된 값 채우기 Pandas 데이터 프레임

  12. 12

    다른 데이터 프레임에서 값이 누락 된 경우 한 데이터 프레임에서 행을 삭제하는 방법은 무엇입니까?

  13. 13

    누락 된 날짜를 데이터 프레임에 추가하고 Python에서 다른 해당 열을 채우는 방법은 무엇입니까?

  14. 14

    Pandas 데이터 프레임에서 누락 된 연도 및 분기에 대한 행을 만드는 방법

  15. 15

    Pandas 데이터 프레임에서 누락 된 연도 / 분기의 열을 0으로 채 웁니다.

  16. 16

    Pandas 데이터 프레임 열을 문자열 값이 포함 된 목록으로 채우는 방법

  17. 17

    테이블에서 누락 된 데이터 행을 동적으로 채우는 뷰를 만드는 방법

  18. 18

    요일 및 시간 데이터로 누락 된 값을 채우는 방법

  19. 19

    요일 및 시간 데이터로 누락 된 값을 채우는 방법

  20. 20

    인덱스 증분 Python Pandas 데이터 프레임을 기반으로 누락 된 열 값 찾기 및 추가

  21. 21

    데이터 프레임에서 누락 된 줄을 생성하는 방법

  22. 22

    Pandas 데이터 프레임에서 ID로 그룹화 된 모든 열의 각 고유 값에 대한 최소값을 찾는 방법

  23. 23

    Pandas의 조건에 따라 한 데이터 프레임에서 다른 데이터 프레임으로 누락 된 행을 추가하는 방법은 무엇입니까?

  24. 24

    다른 열과 다른 데이터 프레임을 일치시키는 값을 기반으로 데이터 프레임의 누락 된 값 채우기

  25. 25

    날짜 배열에서 누락 된 날짜를 찾고 누락 된 간격을 채우는 방법

  26. 26

    유사한 행을 사용하여 Python Pandas 데이터 프레임에서 누락 된 행 채우기

  27. 27

    R-누락 된 값이있는 데이터 프레임을 통해 열 방향으로 lm () 루프

  28. 28

    json 파일에서 pandas 데이터 프레임으로 키-값 쌍을 읽는 방법은 무엇입니까?

  29. 29

    Pandas-누락 된 열을 데이터 프레임에 자동으로 추가

뜨겁다태그

보관