missingno 모듈의 'keyword grid_b is not recognized' 에러 해결

소환인·2024년 1월 4일
0

스터디노트

목록 보기
47/48

missingno 모듈은 데이터 시각화를 통해 결측치를 쉽게 파악할 수 있게 해줍니다. 이 모듈은 판다스와 연동되어 작동하기 때문에, 판다스의 버전과 호환성이 중요합니다. 때때로 판다스의 업데이트로 인해 내부 알고리즘이 변경되고, 이로 인해 missingno 모듈에서 예기치 않은 에러가 발생할 수 있습니다.

import missingno as msno

msno.matrix(df)
plt.show()

missingno 모듈을 이용하여 데이터 프레임의 결측치를 확인하려 했지만 'ValueError: keyword grid_b is not recognized; valid keywords...'라는 에러 메시지가 발생했습니다. 이 에러는 msno.matrix(df) 함수 호출 시 ax0.grid(b=False) 부분에서 발생한 것으로, matplotlib의 최신 버전에서 grid 함수의 매개변수가 변경된 것이 원인일 수 있습니다.

이런 문제는 일반적으로 판다스와 missingno 모듈의 버전을 서로 호환되게 조정함으로써 해결할 수 있습니다. 하지만 가상환경에서 사용 중인 다른 모듈과의 호환성 문제로 판다스의 버전을 변경할 수 없는 경우도 있습니다. 저 또한 그런 상황이었습니다.

구글링을 통해 StackOverFlow에서 해결책을 찾을 수 있었습니다.

I'm having the same issue. Agree with Ziyuan, it seems like a recent update of matplotlib changed argument b to visible.

The latest version of missingno (0.5.2) through pip have updated the argument name passed to matplotlib, but anaconda only provide version (0.4.2) and therefore having the issue. You can still plot graph even with this error but column label is disappeared.

Solution: get into missingno.py, search for grid(b=False) and update it to grid(visible=False). There should be 3 occurrences.

missingno.py 파일을 수정하여 문제를 해결할 수 있었습니다.

print(msno.__file__)

모듈이 설치된 폴더의 경로를 확인합니다.

모듈이 설치된 폴더의 경로를 확인합니다. 스택오버플로우에서 제시한 대로 missingno.py에는 grid(b=False)로 적힌 부분이 3군데 있었습니다. 해당 부분을 모두 grid(visible=False)로 수정했습니다. 커널을 재시작하고 코드를 다시 실행했습니다.

msno.matrix(df)
plt.show()

코드가 정상적으로 작동합니다.

profile
돌고돌아

0개의 댓글