Có một sự khác biệt giữa
- nội dung của ô dữ liệu [giá trị nhị phân] vàcontent of a dataframe cell [a binary value] and
- Trình bày của nó [hiển thị nó] cho chúng ta, con người.presentation [displaying it] for us, humans.
Vì vậy, câu hỏi là: Làm thế nào để đạt được bản trình bày thích hợp của các dữ liệu của tôi mà không thay đổi các loại dữ liệu / dữ liệu?presentation of my datas without changing the data / data types themselves?
Đây là câu trả lời:
- Nếu bạn sử dụng sổ ghi chép Jupyter để hiển thị DataFrame của bạn hoặc
- Nếu bạn muốn đạt được một bản trình bày dưới dạng tệp HTML [ngay cả với nhiều thuộc tính
id
và
0 đã chuẩn bị cho kiểu dáng CSS tiếp theo - bạn có thể hoặc bạn không sử dụng chúng],HTML file [even with many prepared superfluousDOB 0 2019-07-03 1 2019-08-03 2 2019-09-03 3 2019-10-03
id
and
0 attributes for further CSS styling — you may or you may not use them],DOB 0 2019-07-03 1 2019-08-03 2 2019-09-03 3 2019-10-03
Sử dụng kiểu dáng. Kiểu dáng không thay đổi dữ liệu / dữ liệu Các loại cột của DataFrame của bạn.Styling don't change data / data types of columns of your dataframe.
Bây giờ tôi chỉ cho bạn cách tiếp cận nó trong sổ ghi chép Jupyter - để trình bày dưới dạng tệp HTML, hãy xem ghi chú gần cuối câu trả lời này.
Tôi sẽ cho rằng cột
DOB
0 2019-07-03
1 2019-08-03
2 2019-09-03
3 2019-10-03
1 của bạn đã có loại DOB
0 2019-07-03
1 2019-08-03
2 2019-09-03
3 2019-10-03
2 [bạn đã cho thấy rằng bạn biết cách tiếp cận nó]. Tôi đã chuẩn bị một khung dữ liệu đơn giản [chỉ có một cột] để hiển thị cho bạn một số kiểu dáng cơ bản:Không theo kiểu:
df
DOB 0 2019-07-03 1 2019-08-03 2 2019-09-03 3 2019-10-03
Kiểu nó là
3:DOB 0 2019-07-03 1 2019-08-03 2 2019-09-03 3 2019-10-03
df.style.format[{"DOB": lambda t: t.strftime["%m/%d/%Y"]}]
DOB 0 07/03/2019 1 08/03/2019 2 09/03/2019 3 10/03/2019
Kiểu nó là
4:DOB 0 2019-07-03 1 2019-08-03 2 2019-09-03 3 2019-10-03
df.style.format[{"DOB": lambda t: t.strftime["%d-%m-%Y"]}]
DOB 0 03-07-2019 1 03-08-2019 2 03-09-2019 3 03-10-2019
Hãy cẩn thận! Đối tượng trả về không phải là DataFrame - nó là đối tượng của lớp
DOB
0 2019-07-03
1 2019-08-03
2 2019-09-03
3 2019-10-03
5, vì vậy đừng gán lại cho DOB
0 2019-07-03
1 2019-08-03
2 2019-09-03
3 2019-10-03
6:The returning object is NOT a dataframe — it is an object of the class
DOB
0 2019-07-03
1 2019-08-03
2 2019-09-03
3 2019-10-03
5, so don't assign it back to
DOB
0 2019-07-03
1 2019-08-03
2 2019-09-03
3 2019-10-03
6:Đừng làm điều này:
df = df.style.format[{"DOB": lambda t: t.strftime["%m/%d/%Y"]}] # Don't do this!
.
Câu hỏi và trả lời:
Hỏi: Tại sao đối tượng styler của bạn [hoặc một biểu thức trả về nó] được sử dụng làm lệnh cuối cùng trong một ô Notebook Jupyter hiển thị bảng [kiểu dáng] của bạn chứ không phải chính đối tượng styler? Why your Styler object [or an expression returning it] used as the last command in a Jupyter notebook cell displays your [styled] table, and not the Styler object itself?
Trả lời: Bởi vì mọi đối tượng Styler đều có phương thức gọi lại
9 trả về mã HTML để hiển thị DataFrame của bạn [như một bảng HTML đẹp]. Because every Styler object has a callback methodDOB 0 2019-07-03 1 2019-08-03 2 2019-09-03 3 2019-10-03
9 which returns an HTML code for rendering your dataframe [as a nice HTML table].DOB 0 2019-07-03 1 2019-08-03 2 2019-09-03 3 2019-10-03
Jupyter Notebook IDE tự động gọi phương thức này để hiển thị các đối tượng có nó.
Note:
Bạn không cần sổ ghi chép Jupyter để tạo kiểu [nghĩa là, để xuất bản dữ liệu mà không thay đổi các loại dữ liệu / dữ liệu của nó].
Một đối tượng Styler cũng có phương thức
df.style.format[{"DOB": lambda t: t.strftime["%m/%d/%Y"]}]
0, nếu bạn muốn có được một chuỗi với mã HTML [ví dụ: để xuất bản dataFrame được định dạng của bạn trên web hoặc chỉ cần trình bày bảng của bạn ở định dạng HTML]:df_styler = df.style.format[{"DOB": lambda t: t.strftime["%m/%d/%Y"]}]
HTML_string = df_styler.render[]
Định dạng là định dạng-'Yyyy-MM-DD'.
DateTime là mô -đun ..
Làm cách nào để thay đổi định dạng ngày và thời gian trong Python?
Định dạng là định dạng-'Yyyy-MM-DD'.
DateTime là mô -đun ..
Làm cách nào để thay đổi định dạng ngày và thời gian trong Python?
Để làm điều này, Python cung cấp một phương thức gọi là strptime []. Tham số: Chuỗi - Chuỗi đầu vào. Định dạng - Đây là loại chuỗi.: Pandas
Xem thảo luận
Chức năng được sử dụng & nbsp;
strftime [] có thể thay đổi định dạng ngày trong Python. & nbsp;
Syntax:
strftime[format]
Trong đó, định dạng là một chuỗi đại diện cho loại định dạng ngày cần thiết. & Nbsp;
- Cho năm %y & nbsp; %y
- Cho tháng %m%m
- Cho ngày %d & nbsp;%d
Cách tiếp cận
- Nhập mô -đun
- Cung cấp ngày
- Thay đổi định dạng bằng hàm trên
Thí dụ
Python3
df.style.format[{"DOB": lambda t: t.strftime["%m/%d/%Y"]}]
1 df.style.format[{"DOB": lambda t: t.strftime["%m/%d/%Y"]}]
2df.style.format[{"DOB": lambda t: t.strftime["%m/%d/%Y"]}]
3df.style.format[{"DOB": lambda t: t.strftime["%m/%d/%Y"]}]
4 df.style.format[{"DOB": lambda t: t.strftime["%m/%d/%Y"]}]
5df.style.format[{"DOB": lambda t: t.strftime["%m/%d/%Y"]}]
6df.style.format[{"DOB": lambda t: t.strftime["%m/%d/%Y"]}]
7df.style.format[{"DOB": lambda t: t.strftime["%m/%d/%Y"]}]
8df.style.format[{"DOB": lambda t: t.strftime["%m/%d/%Y"]}]
4 DOB
0 07/03/2019
1 08/03/2019
2 09/03/2019
3 10/03/2019
0 DOB
0 07/03/2019
1 08/03/2019
2 09/03/2019
3 10/03/2019
1df.style.format[{"DOB": lambda t: t.strftime["%m/%d/%Y"]}]
4 DOB
0 07/03/2019
1 08/03/2019
2 09/03/2019
3 10/03/2019
3 DOB
0 07/03/2019
1 08/03/2019
2 09/03/2019
3 10/03/2019
4df.style.format[{"DOB": lambda t: t.strftime["%m/%d/%Y"]}]
4 DOB
0 07/03/2019
1 08/03/2019
2 09/03/2019
3 10/03/2019
6 DOB
0 07/03/2019
1 08/03/2019
2 09/03/2019
3 10/03/2019
7 DOB
0 07/03/2019
1 08/03/2019
2 09/03/2019
3 10/03/2019
8df.style.format[{"DOB": lambda t: t.strftime["%m/%d/%Y"]}]
4 df.style.format[{"DOB": lambda t: t.strftime["%d-%m-%Y"]}]
0df.style.format[{"DOB": lambda t: t.strftime["%d-%m-%Y"]}]
1df.style.format[{"DOB": lambda t: t.strftime["%d-%m-%Y"]}]
2df.style.format[{"DOB": lambda t: t.strftime["%d-%m-%Y"]}]
3df.style.format[{"DOB": lambda t: t.strftime["%d-%m-%Y"]}]
2df.style.format[{"DOB": lambda t: t.strftime["%d-%m-%Y"]}]
5df.style.format[{"DOB": lambda t: t.strftime["%d-%m-%Y"]}]
6df.style.format[{"DOB": lambda t: t.strftime["%d-%m-%Y"]}]
7df.style.format[{"DOB": lambda t: t.strftime["%m/%d/%Y"]}]
4 df.style.format[{"DOB": lambda t: t.strftime["%d-%m-%Y"]}]
9 DOB
0 03-07-2019
1 03-08-2019
2 03-09-2019
3 03-10-2019
0____24 DOB
0 03-07-2019
1 03-08-2019
2 03-09-2019
3 03-10-2019
22____53 DOB
0 03-07-2019
1 03-08-2019
2 03-09-2019
3 03-10-2019
4 DOB
0 03-07-2019
1 03-08-2019
2 03-09-2019
3 03-10-2019
5 DOB
0 03-07-2019
1 03-08-2019
2 03-09-2019
3 03-10-2019
6Đầu ra
Thí dụ
Python3
df.style.format[{"DOB": lambda t: t.strftime["%m/%d/%Y"]}]
1 df.style.format[{"DOB": lambda t: t.strftime["%m/%d/%Y"]}]
2df.style.format[{"DOB": lambda t: t.strftime["%m/%d/%Y"]}]
3df.style.format[{"DOB": lambda t: t.strftime["%m/%d/%Y"]}]
4 df.style.format[{"DOB": lambda t: t.strftime["%m/%d/%Y"]}]
5 DOB
0 07/03/2019
1 08/03/2019
2 09/03/2019
3 10/03/2019
8df.style.format[{"DOB": lambda t: t.strftime["%m/%d/%Y"]}]
4 df.style.format[{"DOB": lambda t: t.strftime["%d-%m-%Y"]}]
0df.style.format[{"DOB": lambda t: t.strftime["%d-%m-%Y"]}]
1df.style.format[{"DOB": lambda t: t.strftime["%d-%m-%Y"]}]
2df.style.format[{"DOB": lambda t: t.strftime["%d-%m-%Y"]}]
3df.style.format[{"DOB": lambda t: t.strftime["%d-%m-%Y"]}]
2df.style.format[{"DOB": lambda t: t.strftime["%d-%m-%Y"]}]
5df.style.format[{"DOB": lambda t: t.strftime["%d-%m-%Y"]}]
6 DOB
0 03-07-2019
1 03-08-2019
2 03-09-2019
3 03-10-2019
5 DOB
0 03-07-2019
1 03-08-2019
2 03-09-2019
3 03-10-2019
6Đầu ra
Thí dụ
Python3
df.style.format[{"DOB": lambda t: t.strftime["%m/%d/%Y"]}]
1 df.style.format[{"DOB": lambda t: t.strftime["%m/%d/%Y"]}]
2df.style.format[{"DOB": lambda t: t.strftime["%m/%d/%Y"]}]
3df.style.format[{"DOB": lambda t: t.strftime["%m/%d/%Y"]}]
4 df.style.format[{"DOB": lambda t: t.strftime["%m/%d/%Y"]}]
5 DOB
0 07/03/2019
1 08/03/2019
2 09/03/2019
3 10/03/2019
8df.style.format[{"DOB": lambda t: t.strftime["%m/%d/%Y"]}]
4 df.style.format[{"DOB": lambda t: t.strftime["%d-%m-%Y"]}]
0df.style.format[{"DOB": lambda t: t.strftime["%d-%m-%Y"]}]
1df.style.format[{"DOB": lambda t: t.strftime["%d-%m-%Y"]}]
2df.style.format[{"DOB": lambda t: t.strftime["%d-%m-%Y"]}]
3df.style.format[{"DOB": lambda t: t.strftime["%d-%m-%Y"]}]
2df.style.format[{"DOB": lambda t: t.strftime["%d-%m-%Y"]}]
5df.style.format[{"DOB": lambda t: t.strftime["%d-%m-%Y"]}]
6 DOB
0 03-07-2019
1 03-08-2019
2 03-09-2019
3 03-10-2019
5 DOB
0 03-07-2019
1 03-08-2019
2 03-09-2019
3 03-10-2019
6Đầu ra