팬더에서 연속 0을 NaN으로 바꿉니다.

J Doe

데이터 프레임에서 연속 0 만 대체하여 일부 데이터를 정리하고 싶습니다.

주어진:

import pandas as pd
import numpy as np
d = [[1,np.NaN,3,4],[2,0,0,np.NaN],[3,np.NaN,0,0],[4,np.NaN,0,0]]
df = pd.DataFrame(d, columns=['a', 'b', 'c', 'd'])
df
   a    b  c    d
0  1  NaN  3  4.0
1  2  0.0  0  NaN
2  3  NaN  0  0.0
3  4  NaN  0  0.0

원하는 결과는 다음과 같아야합니다.

   a    b  c    d
0  1  NaN  3   4.0
1  2  0.0  NaN NaN
2  3  NaN  NaN NaN
3  4  NaN  NaN NaN

여기서 열 c & d는 영향을 받지만 열 b는 0이 1 개 (연속 0이 아님)이므로 영향을받지 않습니다.

나는이 대답으로 실험했습니다 : Pandas DataFrame 열에서 n 개 이상의 연속 값 바꾸기

올바른 선을 따라 있지만 솔루션은 내 경우에는 바람직하지 않은 주어진 열에서 첫 번째 0을 유지합니다.

베니

우리 shift와 함께 하자mask

df=df.mask((df.shift().eq(df)|df.eq(df.shift(-1)))&(df==0))
Out[469]: 
   a    b    c    d
0  1  NaN  3.0  4.0
1  2  0.0  NaN  NaN
2  3  NaN  NaN  NaN
3  4  NaN  NaN  NaN

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

연속 실행에서 중복 된 값을 공백으로 바꿉니다.

분류에서Dev

열에서 여러 0을 평균 0 및 후속 행으로 바꿉니다.

분류에서Dev

요일 지연을 찾아 0을 마지막 날 지연 팬더로 바꿉니다.

분류에서Dev

pandas에서 열의 -ve 값을 NaN으로 바꿉니다.

분류에서Dev

0은 팬더의 isnull ()에서 NaN으로 인식됩니다.

분류에서Dev

팬더는 열을 값의 평균으로 바꿉니다.

분류에서Dev

NA 및 NaN을 여러 열에서 열 평균으로 바꿉니다.

분류에서Dev

Unix에서 연속 된 여러 공백을 하나의 쉼표로 바꿉니다.

분류에서Dev

필요한 분기에 따라 값을 nan으로 바꿉니다.

분류에서Dev

Logical, 0을 0으로 바꿉니다.

분류에서Dev

팬더는 NaN을 0에서 다음 유효한 값으로 보간합니다.

분류에서Dev

팬더 df에서 여러 값을 동시에 바꿉니다.

분류에서Dev

시계열의 이전 및 후속 값을 기반으로 값을 NaN으로 바꿉니다.

분류에서Dev

Laravel 전화 번호에서 '0'을 1로 바꿉니다.

분류에서Dev

팬더는 여러 행을 열로 바꿉니다.

분류에서Dev

Groupby는 값을 최대 값 팬더로 바꿉니다.

분류에서Dev

팬더의 셀 값을 튜플로 바꿉니다.

분류에서Dev

데이터 프레임의 한 값이 NaN인지 판다에서 확인하고 0으로 바꿉니다.

분류에서Dev

열의 값을 팬더의 다른 열에 특정 값이있는 평균으로 바꿉니다.

분류에서Dev

SQL Server에서 NULL을 공백 값 또는 0으로 바꿉니다.

분류에서Dev

Fortran에서 문자열의 선행 공백을 0으로 바꿉니다.

분류에서Dev

팬더 열의 모든 값을 한 그룹의 평균으로 바꿉니다.

분류에서Dev

0을 배열에서 0이 아닌 다음 요소로 바꿉니다.

분류에서Dev

DEFAULT를 NULL에서 0으로 바꿉니다.

분류에서Dev

다른 데이터 프레임 팬더에서 동일한 이름으로 두 열마다 이름을 바꿉니다.

분류에서Dev

sed를 사용하여 연속 된 여러 줄을 한 줄로 바꿉니다.

분류에서Dev

신속하게 <br>을 \ n으로 바꿉니다.

분류에서Dev

Pandas 다른 열에 조건부 값의 무작위 샘플을 기반으로 NaN 값을 바꿉니다.

분류에서Dev

팬더에서 선행 0으로 Excel을 읽을 수 없습니다.

Related 관련 기사

  1. 1

    연속 실행에서 중복 된 값을 공백으로 바꿉니다.

  2. 2

    열에서 여러 0을 평균 0 및 후속 행으로 바꿉니다.

  3. 3

    요일 지연을 찾아 0을 마지막 날 지연 팬더로 바꿉니다.

  4. 4

    pandas에서 열의 -ve 값을 NaN으로 바꿉니다.

  5. 5

    0은 팬더의 isnull ()에서 NaN으로 인식됩니다.

  6. 6

    팬더는 열을 값의 평균으로 바꿉니다.

  7. 7

    NA 및 NaN을 여러 열에서 열 평균으로 바꿉니다.

  8. 8

    Unix에서 연속 된 여러 공백을 하나의 쉼표로 바꿉니다.

  9. 9

    필요한 분기에 따라 값을 nan으로 바꿉니다.

  10. 10

    Logical, 0을 0으로 바꿉니다.

  11. 11

    팬더는 NaN을 0에서 다음 유효한 값으로 보간합니다.

  12. 12

    팬더 df에서 여러 값을 동시에 바꿉니다.

  13. 13

    시계열의 이전 및 후속 값을 기반으로 값을 NaN으로 바꿉니다.

  14. 14

    Laravel 전화 번호에서 '0'을 1로 바꿉니다.

  15. 15

    팬더는 여러 행을 열로 바꿉니다.

  16. 16

    Groupby는 값을 최대 값 팬더로 바꿉니다.

  17. 17

    팬더의 셀 값을 튜플로 바꿉니다.

  18. 18

    데이터 프레임의 한 값이 NaN인지 판다에서 확인하고 0으로 바꿉니다.

  19. 19

    열의 값을 팬더의 다른 열에 특정 값이있는 평균으로 바꿉니다.

  20. 20

    SQL Server에서 NULL을 공백 값 또는 0으로 바꿉니다.

  21. 21

    Fortran에서 문자열의 선행 공백을 0으로 바꿉니다.

  22. 22

    팬더 열의 모든 값을 한 그룹의 평균으로 바꿉니다.

  23. 23

    0을 배열에서 0이 아닌 다음 요소로 바꿉니다.

  24. 24

    DEFAULT를 NULL에서 0으로 바꿉니다.

  25. 25

    다른 데이터 프레임 팬더에서 동일한 이름으로 두 열마다 이름을 바꿉니다.

  26. 26

    sed를 사용하여 연속 된 여러 줄을 한 줄로 바꿉니다.

  27. 27

    신속하게 <br>을 \ n으로 바꿉니다.

  28. 28

    Pandas 다른 열에 조건부 값의 무작위 샘플을 기반으로 NaN 값을 바꿉니다.

  29. 29

    팬더에서 선행 0으로 Excel을 읽을 수 없습니다.

뜨겁다태그

보관