3 điểm bởi GN⁺ 2024-04-05 | 1 bình luận | Chia sẻ qua WhatsApp
  • Great Tables là một gói tạo bảng nhằm giữ quy trình phân tích dữ liệu trong mã Python, đồng thời hồi sinh năng lực biểu đạt tinh xảo của bảng in giữa thế kỷ 20
  • Bảng không chỉ là một lưới hàng-cột đơn giản, mà là một hình thức trình bày thông tin giúp dễ tìm và so sánh giá trị thông qua thứ tự cột, nhãn và đường phân cách
  • Từ bảng đất sét Sumer cổ đại đến Manual of Tabular Presentation, bảng đã phát triển đồng thời về mật độ thông tin và hình thức, nhưng các bảng tính thời kỳ đầu thiếu năng lực biểu đạt so với sự tiện lợi trong tính toán
  • Great Tables chia bảng thành 6 thành phần và tách riêng cấu trúc, định dạng và tạo kiểu bằng các API họ tab_*, fmt_*, opt_*()
  • Gói này tập trung vào việc nâng chất lượng xuất bản và trình bày của bảng tóm tắt tĩnh dùng trong bài báo, sách và báo cáo hơn là khám phá tương tác dữ liệu lớn

Vấn đề tiến thoái lưỡng nan trong tạo bảng mà Great Tables muốn giải quyết

  • Bảng quan trọng ở bước cuối khi trình bày thông tin, tương tự như biểu đồ; thiết kế bảng hiệu quả đòi hỏi nhiều sự tinh tế và sắc thái hơn người ta tưởng
  • Ngày nay, người làm dữ liệu thường phải thỏa hiệp giữa hai lựa chọn
    • Sao chép dữ liệu sang công cụ như Excel rồi dựng lại bảng
    • Hiển thị nguyên một bảng chưa được trau chuốt
  • Great Tables là gói muốn giải quyết thế lưỡng nan này bằng giao diện dựa trên mã Python
  • Mục tiêu là xử lý từ thu thập dữ liệu, phân tích đến tạo bảng tóm tắt ngay trong Python, đồng thời vẫn tạo được bảng có sức biểu đạt cao

Định nghĩa cơ bản của bảng và các yếu tố dễ đọc

  • Bảng có thể được tóm gọn bằng hai quy tắc cơ bản
    • Dữ liệu được biểu diễn bằng cột và hàng
    • Dữ liệu chủ yếu được biểu diễn bằng văn bản
  • Bảng ví dụ đặt con người theo hàng, còn các thuộc tính như tên, địa chỉ, thành phố, mã bưu chính, ngày sinh, chiều cao và cân nặng theo cột
  • Cách bố trí này giúp dễ tìm từng giá trị riêng lẻ hoặc so sánh qua lại giữa hàng và cột
  • Đường kẻ ngang giữa các hàng không phải điều kiện bắt buộc, nhưng đóng vai trò bổ trợ để phân biệt trực quan từng hàng
  • Thứ tự cột cũng ảnh hưởng trực tiếp đến khả năng đọc
    • Nếu cột Name nằm ở ngoài cùng bên phải, chủ thể của từng bản ghi không hiện ra ngay, khiến người đọc dễ bối rối hơn
    • Nhãn cột cho biết mỗi cột chứa loại dữ liệu nào, và trong đa số trường hợp giúp giảm việc phải suy đoán

Lịch sử bảng thời cổ đại

  • Bảng bắt nguồn từ lưới ô vuông, một dạng vật chứa có thể chứa thông tin
  • Trên vách hang Lascaux và Niaux ở Pháp còn lại các biểu diễn dạng lưới từ khoảng 25.000 năm trước
  • Vào thế kỷ 2 TCN, Hipparchus dùng vĩ độ và kinh độ để biểu thị vị trí thiên thể và vị trí trên mặt đất; khoảng năm 150 SCN, Geographia của Ptolemy có bao gồm phương pháp lập bản đồ dựa trên lưới
  • Centuriation của La Mã là một hệ thống đo đạc đất đai tạo thành lưới ô vuông thông qua đường sá, kênh đào và đất canh tác
  • Sau khi nông nghiệp lan rộng khoảng 10.000 năm trước, nhu cầu ghi chép và quản lý các giao dịch kinh tế liên quan đến nông nghiệp, gia súc và phân công lao động tăng lên

Cấu trúc bảng của Sumer và Mesopotamia

  • Các thành phố Mesopotamia vào thiên niên kỷ 4 TCN giao thương với các vương quốc xa xôi và cần lưu giữ hồ sơ; những bảng đất sét được tìm thấy ở Uruk còn lưu lại các bảng sơ khai nhưng tinh vi
  • Bảng đất sét Uruk khoảng năm 3200–3000 TCN ghi lại lượng lúa mạch và mạch nha được giao để sản xuất bia
    • Cấu trúc được đọc từ phải sang trái
    • Mỗi ô chứa chữ tượng ý biểu thị từ ngữ/khái niệm và chữ số biểu thị số lượng
    • Khoảng hai hàng tương ứng với một người
    • Hai cột bên phải chứa lượng mạch nha và lúa mạch
    • Cột thứ ba chứa tổng phụ theo từng người, còn cột ngoài cùng bên trái hiển thị tổng cộng
    • Hàng dưới cùng có tên viên chức phụ trách, hoạt động giống như phần chân bảng
  • Khoảng một nghìn năm sau, bảng đất sét của đền Enlil ở Nippur ghi nguồn thu và chi tiêu hằng tháng cho 50 nhân sự của đền
    • Có thể thấy một lưới đều đặn hơn
    • Có tiêu đề cột dưới dạng tên tháng và tiêu đề hàng dưới dạng tên cá nhân/nghề nghiệp
    • Bao gồm các ô trống không có thông tin, giá trị số, tổng phụ theo đơn vị 6 tháng, tổng cộng và chú thích giải thích
  • Về sau, chất liệu của bảng chuyển từ đất sét sang bảng sáp, giấy cói rồi giấy, đồng thời kỹ thuật viết và thiết kế bảng cũng thay đổi theo

Đỉnh cao của thiết kế bảng giữa thế kỷ 20

  • Giữa thế kỷ 20 được xem là giai đoạn thiết kế bảng đặc biệt mạnh
  • Các công nghệ tạo tài liệu như in offset, máy đánh chữ và varitype đã phát triển đủ để dàn trang các thành phần bảng một cách chính xác
  • Dù có giới hạn về không gian trang, vẫn tồn tại nhiều giải pháp để đặt bảng vừa trong một trang hoặc chia bảng qua nhiều trang
  • Khi kỹ thuật in ấn nâng cao kết hợp với tri thức thiết kế bảng, người ta có thể tạo ra những bảng đẹp
  • Manual of Tabular Presentation của Cục Điều tra Dân số Hoa Kỳ là công trình bàn chi tiết về thiết kế lý tưởng cho các bảng có mật độ thông tin cao
    • Đặt tên và mô tả nghiêm ngặt nhiều phần của bảng
    • Đưa ra khuyến nghị mạnh mẽ về những điều nên và không nên làm trong nhiều tình huống lập bảng
    • Cho thấy bảng vừa có thể đẹp mắt vừa chứa được nhiều thông tin
  • Great Tables vay mượn nhiều nguyên tắc thiết kế bảng từ tài liệu này, và xuất phát từ tiền đề rằng các nguyên tắc đó đến nay vẫn còn hiệu lực

Sự thụt lùi và giới hạn sau bảng tính

  • Khi công nghệ điện toán trở nên dễ tiếp cận hơn vào thập niên 1970–1980, con người có thể tạo bảng ở dạng điện tử và dạng in
  • Việc phổ biến các bảng có thể tính toán có thể được xem là bắt đầu cùng VisiCalc vào năm 1979
  • VisiCalc có thể tính giá trị nhanh chóng, nhưng khả năng biểu đạt để tạo bảng trình bày còn hạn chế
    • Không thể áp dụng kiểu đường viền phục vụ trình bày cho các ô trong lưới
    • Không thể định dạng giá trị
    • Cũng không thể in bảng
  • Trong 10–15 năm sau đó, bảng trong bảng tính trở nên đẹp hơn
    • Đầu thập niên 1990, Excel có thể kẻ viền cho bảng
    • Hỗ trợ typography tốt hơn
    • Chức năng định dạng giá trị cũng đầy đủ hơn
  • Tuy vậy, bảng Excel trong 30 năm gần đây vẫn được đánh giá là khó đạt đến mức của Manual of Tabular Presentation
  • Khi phân tích dữ liệu cũng diễn ra bên ngoài Excel, ba kịch bản kém hiệu quả xuất hiện
    • Xử lý cả phân tích và tạo bảng trong Python, nhưng chất lượng bảng thấp
    • Xử lý cả phân tích và tạo bảng trong Excel, nhưng độ linh hoạt phân tích thấp
    • Phân tích trong Python rồi sao chép sang Excel để tạo bảng, nhưng không tái lập được

Mô hình bảng của Great Tables

  • Great Tables là một gói Python muốn kết hợp vẻ thanh lịch của bảng giữa thế kỷ 20 với sức mạnh của giao diện mã
  • Bảng được biểu diễn như tổ hợp của 6 thành phần độc lập
    • Table Header: không gian đặt tiêu đề và phụ đề để mô tả ngắn gọn nội dung bảng
    • Column Labels: định nghĩa nội dung của từng cột; spanner là tiêu đề đặt phía trên một nhóm nhiều cột
    • Stub Head: vị trí phía trên bên trái, nơi có thể đặt nhiều kiểu nhãn khác nhau
    • Row Stub: khu vực dành cho thông tin hàng và nhãn nhóm hàng
    • Table Body: khu vực chứa các ô và là nơi dữ liệu nằm
    • Table Footer: không gian chứa thông tin bổ sung liên quan đến nội dung bảng
  • Great Tables được dùng theo cách tạo phần thân bảng bằng mã, rồi lặp lại việc thêm styling, định dạng và các thành phần khác
  • Mã ví dụ bắt đầu từ GT(simple_table, rowname_col="Name"), rồi thêm tiêu đề, stub head, column spanner, source note, định dạng ngày/số nguyên và các tùy chọn kiểu dáng
  • Trong bảng ví dụ, row stub màu xanh phân tách nhãn hàng với phần thân bảng
    • Vì mỗi người là một quan sát riêng biệt, chủ thể của hàng được nhấn mạnh
    • Tiêu đề mô tả nội dung có trong bảng
    • Các spanner LocationPersonal Characteristics gom các cột thành những nhóm có ý nghĩa
    • Việc dùng nhất quán đường kẻ xanh và nền ô tạo ra diện mạo chuyên nghiệp
  • Các phương thức thêm thành phần bảng bắt đầu bằng tab_

Định dạng và nanoplots

  • Chỉ cấu trúc hóa bảng thôi là chưa đủ; mỗi lĩnh vực có yêu cầu hiển thị giá trị khác nhau
  • Ngay cả một con số cũng có thể được hiển thị theo nhiều cách tùy theo chuẩn mực và kỳ vọng của cộng đồng
  • Nếu tính cả ngày, giờ và tiền tệ, phạm vi định dạng còn rộng hơn
  • Giá trị thô 134,000 có thể được biểu diễn khác nhau tùy yêu cầu
  • Khi giá trị cần được truyền tải bằng hình ảnh hoặc biểu đồ, vấn đề định dạng càng lớn hơn
  • Nếu một nhà phân tích y tế cần truyền đạt xu hướng cải thiện hoặc xấu đi trong kết quả xét nghiệm của bệnh nhân, việc đọc chuỗi số trên toàn bộ hàng có thể làm chậm quá trình diễn giải
  • fmt_nanoplot() cung cấp trực quan hóa xu hướng nhỏ ngay trong bảng thông qua nanoplots
    • Khi di chuột lên các điểm dữ liệu, có thể xem giá trị của từng ngày
    • Nanoplots hướng tới sự cân bằng giữa khả năng diễn giải trực quan nhanh của biểu đồ và tính gọn nhẹ của bảng
  • Các phương thức định dạng của Great Tables bắt đầu bằng fmt_
  • Gói này cố gắng cung cấp nhiều phương thức định dạng và tùy chọn hữu ích để phù hợp với nhu cầu của nhiều người dùng

Tập trung vào bảng tóm tắt tĩnh cho xuất bản và trình bày

  • Trong nhiều cách tương tác với bảng, Great Tables tập trung vào hiển thị phục vụ xuất bản và trình bày
  • Trong phân tích cơ sở dữ liệu, cách hiển thị bảng đơn giản để khám phá và lọc hàng trăm, hàng nghìn hoặc nhiều bản ghi hơn có thể phù hợp
  • Xuất bản kết quả là một công việc khác, nơi cấu trúc hóa, định dạng và tạo kiểu là trọng tâm
  • Một cách hiển thị bảng đẹp cần đáp ứng các điều sau
    • Giúp thông tin dễ tiêu hóa hơn
    • Cung cấp ngữ cảnh bổ sung ở nơi cần thiết
    • Tuân theo phong cách của tài liệu hoặc tổ chức
  • Các trường hợp sử dụng mục tiêu là kiểu trình bày dữ liệu thường thấy trong bài báo tạp chí, sách và báo cáo
  • Great Tables xem bảng tóm tắt tĩnh là một lĩnh vực đáng được tập trung riêng, và muốn giúp việc cung cấp bảng tốt hơn cho độc giả trở nên dễ dàng hơn bằng các phương thức opt_*()
  • Tiêu chí thành công của gói là chất lượng của các bảng có thể tạo ra, và nhóm dự định tiếp tục cải thiện API
  • Cộng đồng có thể đóng góp phản hồi qua Discord Server

1 bình luận

 
GN⁺ 2024-04-05
Các ý kiến trên Hacker News
  • Great Tables đã làm khá tốt trong mảng bảng cho Python/Jupyter, và có vẻ gần như đang tạo ra một ngữ pháp bảng tương tự như ngữ pháp đồ họa (grammar of graphics)
    Sẽ rất hay nếu có thêm nhiều dự án giải thích triết lý và mục tiêu của mình theo cách này
    Tôi đã làm một thư viện bảng khác cho Jupyter tên là Buckaroo, nhưng cách tiếp cận thì khác
    Buckaroo nhắm tới việc giúp người dùng làm việc theo kiểu tương tác, nhanh chóng thử nhiều định dạng và hàm hậu xử lý khác nhau để rút ra các insight quan trọng từ bảng
    Khi làm phân tích dữ liệu khám phá cơ bản, ta thường phải gõ đi gõ lại cùng một lệnh, nên tôi cho rằng những lệnh và insight đó nên nằm ngay trong bảng
    Great Tables có vẻ thiên về việc định dạng thủ công các bảng để trình bày
    https://github.com/paddymul/buckaroo
    https://youtu.be/GPl6_9n31NE
    • Cảm ơn vì đã làm Buckaroo. print() của Jupyter và display() của IPython có hạn chế là đầu ra tĩnh, chết cứng, cảm giác giống debug bằng printf ngày xưa, và tôi hiểu Buckaroo được tạo ra để giải quyết chuyện đó
      Tôi tò mò anh/chị nhìn nhận thế nào về phím tắt và cách thao tác của Visidata
      Trước đây tôi từng dùng Visidata, và luôn thắc mắc tại sao rốt cuộc nó không thể được đưa vào Jupyter để khám phá dataframe
      Tôi đồng ý rằng Great Tables có vẻ là một nỗ lực khác nhằm chính thức hóa ngữ pháp bảng; xét tới sức mạnh của dạng bảng và sự lan rộng của khái niệm dataframe thông qua các hệ sinh thái R/pandas/Arrow/polars, cách tiếp cận như vậy là đáng hoan nghênh
      Tuy nhiên, theo tôi biết thuật ngữ này vốn được dùng lần đầu trong ngôn ngữ thống kê S vào thập niên 90
      [1] https://towardsdatascience.com/preventing-the-death-of-the-d...
  • Các ví dụ của Great Tables quá phức tạp so với gu của tôi. Các đường kẻ ngang phía trên và dưới tiêu đề có vẻ không cần thiết, và việc căn theo cột đầu tiên là nhãn hàng cũng không ổn
    Nếu chừa một chút khoảng trắng bên dưới và dùng chữ đậm, có lẽ vẫn tạo được phân cấp thị giác mà không gây nhiễu
    Nền của nhãn hàng quá tối, cộng với độ đậm của chữ khiến khó đọc; màu xanh lam thật nhạt có lẽ sẽ tốt hơn
    Tôi cũng không thích việc để nhãn nhóm hàng “Name” ở dạng in nghiêng
    Nhãn cột cấp trên nằm lơ lửng ở giữa khiến bảng khó lướt đọc hơn; tôi nghĩ căn trái sẽ tốt hơn nhiều
    Cuối cùng, tôi cũng thật sự không thích font chữ, dù có thể là do trình duyệt
    Tôi đã làm một mockup với vài thay đổi, và theo tôi đây là bảng dễ đọc hơn nhiều
    https://i.imgur.com/iMMf5vo.png
    • Nên đọc Beautiful Evidence của Edward Tufte
      Cuốn này bàn về đúng những điều vừa nêu, như khả năng dễ đọc và các yếu tố cản trở thông điệp hay điểm cốt lõi của dữ liệu
      Nếu bạn từng thấy sparkline, Tufte cũng là người đặt ra thuật ngữ đó
      Mỗi lần review UI, tôi lại lật cuốn này để xem liệu mình có bỏ sót điều gì không; mở bất kỳ trang nào ra đọc cũng thấy thú vị
      Hơn nữa còn có một bài luận dài về vì sao PowerPoint tệ
      [1] https://www.edwardtufte.com/tufte/books_be
      [2] https://en.wikipedia.org/wiki/Sparkline
    • Tiêu đề bảng nên được căn giữa ở phía trên, hoặc là chú thích ở phía dưới
      Nếu căn trái phía trên một cột nào đó, tiêu đề ấy thường trông như cấp cao nhất trong hệ phân cấp thông tin của bảng theo một cách không đúng sự thật hoặc không chủ ý
      Trong bản chỉnh sửa kiểu hiện đại chủ nghĩa ở trên, tiêu đề nói “names, addresses, characteristics” nhưng cách căn lại có vẻ như loại trừ phần tên, khiến tôi thấy khó chịu ngay
      Ngược lại, sổ tay điều tra dân số căn giữa gần như mọi nhãn trong ô tương ứng; ngay cả khi không làm vậy thì phần lớn cũng là do thụt lề
      Ngoài ra, nó đặt độ rộng cột theo dữ liệu chứ không theo nhãn, và không ngần ngại điều chỉnh thụt lề cũng như cách gạch nối
      Kết quả là bảng vừa đặc theo chiều ngang vừa dễ hiểu một cách trực quan
      Nghĩ thêm thì bản thân tiêu đề cũng không hay
      Tiêu đề và chú thích cần truyền tải bối cảnh, phạm vi, mục đích; nếu không làm được thì có thể bỏ hẳn vì lỗi biên tập là không tự biện minh được cho sự tồn tại của mình
      Tiêu đề hiện tại có thể đổi thành “Table 1” mà không mất thông tin hay tính khái quát
      Với một bài viết muốn thảo luận và tái cấu trúc cách trình bày bảng từ các nguyên lý đầu tiên, điều này hơi đáng thất vọng
      Vì tiêu đề bảng là một lớp quan trọng trong catalog thông tin, không ngạc nhiên khi sổ tay điều tra dân số dành hẳn một chương cho cấu trúc tiêu đề
      Dù văn phong hơi đặc thù theo miền ứng dụng và cổ điển, nó vẫn rất đáng xem
    • Tôi không hiểu vì sao lại không có các yếu tố như đường kẻ ngang hoặc sọc xen kẽ để nhấn mạnh cảm giác mỗi hàng là một bản ghi riêng
    • Mockup của bạn là bản cải thiện. Vấn đề của ví dụ trong bài là trọng lượng thị giác đồng đều của mọi chữ và số trong bảng
    • Tôi nghĩ còn có thể đẩy xa hơn nữa. Tiêu đề trùng lặp với phần còn lại là tên cột, nên có thể rút còn “remote correspondents”
      Phần nhấn màu xanh giờ cũng trùng với tiêu đề nên bỏ hết, và việc phân biệt “personal characteristics” với “location” cũng không giúp ích có ý nghĩa cho việc tổ chức thông tin, nên tốt hơn là loại bỏ
  • Đây là một bài viết hay, phần lịch sử thú vị
    Lịch sử gần đây hơn có việc tạo ra bảng CALS: https://en.wikipedia.org/wiki/CALS_Table_Model
    Datalogics https://en.wikipedia.org/wiki/Datalogics đã tham gia sâu vào ý tưởng bảng CALS

Nhân viên Datalogics đã tham gia ủy ban ISO tạo ra SGML, và đào tạo SGML cho nhiều người, bao gồm cả nhân viên Bộ Quốc phòng Mỹ và các nhà thầu liên quan đến công tác tài liệu hóa
Họ từng tham gia nhóm làm trình soạn thảo tài liệu dựa trên SGML, trong đó một chức năng là định dạng phần tử theo ngữ cảnh SGML của phần tử đó
Việc này có trước khi XSLT và các họ công nghệ liên quan xuất hiện
Những người xuất thân từ Datalogics đã giúp Microsoft hiểu XML. Kiểu như: “Không, bạn không thể tùy ý đổi chữ hoa/thường trong thẻ phần tử XML”
Người dùng TeX cũng có những suy nghĩ khá tinh tế về định dạng bảng
Một nhánh bên lạ là, tôi từng được biết rằng nếu in toàn bộ tài liệu của một mẫu tiêm kích thời đó, nó sẽ nặng hơn chính chiếc máy bay và đủ để lấp đầy một cụm tủ hồ sơ cỡ sân bóng đá
Và dù ngày nay nhiều người không thích XML, từ góc nhìn của những người đến từ thế giới SGML thì XML là một ân phước lớn

  • Về Visicalc, bài viết nói rằng “các ô lưới không thể có kiểu viền để trình bày, giá trị không thể định dạng, và bảng thậm chí không thể in ra”, nhưng có vẻ không hoàn toàn đúng
    Tôi nhớ là ngay cả phiên bản đầu cũng đã có hỗ trợ định dạng hạn chế
    Theo http://www.bricklin.com/history/refcard3.htm, lệnh /F có thể chỉ định căn chỉnh và đặt định dạng số, ví dụ như đô-la và xu
    Tài liệu này dựa trên phiên bản 1.35, nhưng tôi nghĩ bản phát hành đầu tiên ít nhất cũng hỗ trợ hiển thị đô-la và xu
  • Điều luôn làm tôi khó chịu ở dữ liệu số như số tiền đô-la trong bảng là việc so sánh độ lớn về mặt thị giác trông không tuyến tính mà giống log hơn
    Ví dụ nếu chi phí là $1500, $130, $110, $210, thì văn bản ở ba hàng cuối trông như có kích thước bằng 4/5 văn bản ở hàng đầu
    Nhưng cộng cả ba lại cũng chỉ bằng 1/3 số tiền ở trên cùng
    Mọi người nhìn số chữ số của con số bằng mắt, và điều này gần giống log10
    Vì vấn đề này xảy ra quá thường xuyên, tôi bắt đầu luôn thêm biểu đồ thanh trong ô vào các bảng tính liên quan đến tài chính
    Nếu không, cuộc họp sẽ đi chệch hướng vì tranh cãi về những mục hoàn toàn nhỏ nhặt so với khoản chi lớn nhất tính theo giá trị tuyệt đối
    Thực tế từng có chuyện chúng tôi tốn nhiều cuộc họp để bàn về khoản $15/tháng cho thu thập log máy chủ đám mây, trên một VM chạy database engine có riêng phí license hằng tháng đã là $15K
  • Tôi là một trong những đồng bảo trì Great Tables
    Tôi quản lý nó cùng Rich Iannone
    Rich là lập trình viên phần mềm duy nhất tôi biết mà khi được nhờ giải thích triết lý của package, sẽ kể cho bạn nghe 5.000 năm lịch sử hiển thị bảng
  • Tuyệt. Cảm ơn đã chia sẻ
    Thật đáng ngạc nhiên là cách biểu diễn bảng dữ liệu ngày càng tệ đi lại bị bỏ mặc lâu đến vậy
    Những bảng hiện đại giữa thế kỷ 20 được nêu trong bài thật sự trông như các ví dụ sáng chói
    Nó khiến tôi muốn quay lại phân tích dữ liệu bằng Python, và tôi cũng nghĩ ra vài cải tiến, mở rộng API muốn làm
  • Tôi thích package này và đã dùng trong R vài năm nay
    Nó rất tốt để tạo bảng HTML, nhưng phần xuất PDF và DOCX thì kém trau chuốt hơn một chút
    Gần đây có vẻ hướng phát triển đã chuyển sang đưa bản Python lên ngang tầm bản R, nên tôi hơi lo tốc độ phát triển của R đã chậm lại
    Dù vậy, dùng ngôn ngữ nào thì cũng đáng xem thử
  • Xuất sắc. Vào thập niên 90, tôi cùng một đồng nghiệp đã viết EBRI Datebook on Employee Benefits, một cuốn sách mà phần lớn là bảng
    Ngoài SAS, công cụ chính là một ngôn ngữ cũ tên Table Producing Language, viết tắt là TPL
    Dù có nguồn gốc từ tận thập niên 1970, một khi hiểu cú pháp thì TPL linh hoạt, biểu đạt tốt và hiệu quả đến khó tin
    Các nhà thiết kế Great Tables nên xem qua TPL
    Nó xử lý được mọi thứ Great Tables đang hướng tới, và có thể còn có thêm vài chiêu nữa
    https://www.ojp.gov/pdffiles1/Digitization/68013NCJRS.pdf
    Dù sao cũng cảm ơn vì đã tạo ra Great Tables
    Nó sẽ giúp cải thiện đáng kể chất lượng tạo bảng trong Python
  • Người này xứng đáng được trao giải. 1) công việc xuất sắc, 2) chú ý đến chi tiết, 3) nghiên cứu sâu, 4) và cả cách trình bày tuyệt vời giúp tránh những câu hỏi thường gặp như “Vậy chính xác nó là gì?”, “Bắt đầu thế nào?”, “Có thể cho ví dụ không?”
    Những người đăng bài lên Show HN nên nhìn vào mà học
  • Cũng có một cuốn sách về chủ đề này: https://en.wikipedia.org/wiki/The_History_of_Mathematical_Ta...
    Một nhánh bên thú vị là các mô hình AI học từ spreadsheet cần “bảng tốt” như tên cột, header để hiểu ngữ cảnh
    Fortap là một ví dụ như vậy: https://arxiv.org/abs/2109.07323