차이가 있습니다
- 데이터 프레임 셀 의 내용 (이진 값) 및
- 그 발표는 , 우리를 위해 인간을 (를 표시).
따라서 질문은 데이터 / 데이터 유형 자체를 변경하지 않고 내 데이터 의 적절한 표현 에 도달하는 방법입니다.
답은 다음과 같습니다.
- 데이터 프레임을 표시하기 위해 Jupyter 노트북 을 사용하는 경우 또는
- HTML 파일 형식으로 프레젠테이션에 도달하려는 경우 ( 추가 CSS 스타일링을 위해 준비된 많은 불필요한 속성
id
과 class
속성이 포함 된 경우에도 -사용할 수도 있고 사용하지 않을 수도 있음)
스타일링을 사용하십시오 . 스타일링은 데이터 프레임 열의 데이터 / 데이터 유형을 변경하지 않습니다.
이제 Jupyter 노트북에서이 파일에 접근하는 방법을 보여 드리겠습니다. HTML 파일 형식의 프레젠테이션은 질문 끝 부분에있는 메모를 참조하세요.
나는 당신의 칼럼에 DOB
이미 타입datetime64
이 있다고 가정 할 것입니다 (당신은 그것에 도달하는 방법을 알고 있음을 보여주었습니다). 몇 가지 기본 스타일을 보여주기 위해 간단한 데이터 프레임 (단 하나의 열만 포함)을 준비했습니다.
DOB
0 2019-07-03
1 2019-08-03
2 2019-09-03
3 2019-10-03
DOB
0 07/03/2019
1 08/03/2019
2 09/03/2019
3 10/03/2019
DOB
0 03-07-2019
1 03-08-2019
2 03-09-2019
3 03-10-2019
조심해!
복귀 객체는 dataframe 아닙니다 - 그것은 클래스의 목적은 Styler
그래서, 다시 할당하지 않습니다 df
:
하지 마십시오 :
df = df.style.format({"DOB": lambda t: t.strftime("%m/%d/%Y")}) # Don´t do this!
(모든 데이터 프레임에는 .style
속성으로 액세스 할 수있는 Styler 개체가 있으며 df.style
데이터 프레임 자체가 아닌 이 개체를 변경했습니다 .)
질문과 답변:
Q : Jupyter 노트북 셀에서 마지막 명령 으로 사용 된 Styler 객체 (또는이를 반환하는 표현식) 가 Styler 객체 자체가 아니라 (스타일이 지정된) 테이블을 표시 하는 이유 는 무엇입니까?
A : 모든 Styler 개체에는 ._repr_html_()
데이터 프레임을 렌더링하기위한 HTML 코드를 반환하는 콜백 메서드가 있기 때문입니다 (멋진 HTML 테이블).
Jupyter Notebook IDE는이 메서드를 자동으로 호출하여 이를 가진 개체를 렌더링합니다.
노트 :
스타일링을 위해 Jupyter 노트북이 필요하지 않습니다 (즉 , 데이터 / 데이터 유형을 변경하지 않고 데이터 프레임을 멋지게 출력하기 위해 ).
Styler 객체에는 render()
HTML 코드가있는 문자열을 얻으려는 경우 (예 : 형식이 지정된 데이터 프레임을 웹에 게시하거나 단순히 HTML 형식으로 표를 표시하는 경우) 메서드 가 있습니다.
df_styler = df.style.format({"DOB": lambda t: t.strftime("%m/%d/%Y")})
HTML_string = df_styler.render()