https://pandas.pydata.org/docs/reference/api/pandas.io.formats.style.Styler.hide.html
삽질시간: 4~5시간...
정보가 별로없음.
예전 버전의 정보가 조금 있음.
멀티인덱스여서 아주 골치아픈 상황이 발생했습니다.
style.map 을 통해 테이블의 값들을 읽어 배경색을 바꾸려고 하는데, 멀티 인덱스(1번, 2번) 중 1번은 중복이 있는 인덱스명이고 1번과 2번은 중복이 없어, 2번까지 존재해야 map이 동작하는 것입니다.
dataframe.style로 스타일을 적용한 이후에 다시 dataframe으로 돌아와 인덱스를 수정하더라도 style은 적용되지 않습니다.
그러니 style 자체로 방법을 찾아보았고,
styles = [dict(selector="th.row_heading.level1", props=[("visibility", "hidden")])]
styles = [dict(selector="th.row_heading.level1", props=[("display", "none")])]
df_style = df_style.set_table_styles(styles)
보여주는 테이블 이미지에는 멀티인덱스 1번만 필요합니다.
그러니 level1 을 visibility: hidden; css 적용하던가
display: none; 을 적용하던가 해야되는데,
visibility: hidden; 은 테이블 컬럼이 없어진 인덱스 칸으로 밀려버리고,
display: none; 은 해당 인덱스 가 존재하는 곳이 구멍이 뻥 ~ 뚫립니다...
더 찾아보니 구글에 검색되는 사이트 및 블로그는 대부분 없어지거나 많이 변경된 이전 버전의 대한 예시로 가득했고,
bs4와 selenium을 이용해 캡처 하는 방법 등 html 자체로 수정 하는 방법 밖에 없었습니다.
hide_column, hide_index 메소드가 자꾸 언급되는 걸로 보아 찾아보니
hide()가 있었습니다.
styler = df.style
styler.hide(axis=0, level=1) # index의 레벨1 hide
hide_column, hide_index 가 통합된 걸로 보입니다.
적용하니, 밀리는 현상 등 없이 깔끔하게 수정됨을 확인했습니다.
'파이썬' 카테고리의 다른 글
장고, 모델에서 db_table 외부 변경해보기 (0) | 2024.05.03 |
---|---|
파이썬 APScheduler 실행해보기 (0) | 2023.12.13 |
pyqt pyside scrollArea QScrollArea 맨 위로 스크롤 하기 (0) | 2023.12.04 |
파이썬 pyqt QComboBox style (0) | 2023.11.22 |
파이썬 pyqt pyside qcheckbox 테두리 style (1) | 2023.11.21 |