Điều gì đó dễ dàng tôi nghĩ.Sắp xếp một mảng theo cột ngày văn bản trong Mathematica
Tôi có danh sách hai chiều (mảng) dữ liệu ngày, văn bản và dữ liệu số hỗn hợp có nguồn gốc từ CSV. Tôi muốn có thể sắp xếp các hàng theo giá trị trong một cột, trong trường hợp này là một ngày ở định dạng văn bản. Ví dụ:
{{1/12/2008, Bob, 123}, {28/06/2007, Alice, 456}, {19/08/2009, Charlie, 789}}
Tôi muốn sắp xếp các hàng trong danh sách bằng cách ngày (vì vậy mà đi ra theo trình tự Alice, Bob, Charlie.)
Cho đến nay tôi đã nghĩ mà tôi có thể muốn để lập bản đồ DateList
trên cột ngày của tôi và thêm vào trước năm, tháng và ngày vào danh sách, vì vậy nó trở thành:
{{2008, 12, 1, Bob, 123}, {2007, 6, 28, Alice, 456}}
Sau đó, tôi đang trái phải làm ba loại thay vì một và cần phải phá vỡ mảng này theo năm. Điều đó có vẻ không đúng và bây giờ tôi đang bị mắc kẹt. Tôi biết điều này nên được đơn giản nhưng tôi không thể cho cuộc sống của tôi con số nó ra. Bất kỳ con trỏ nào được đánh giá cao.
Cảm ơn,
Tim
Legend. Cảm ơn belisarius, đã làm việc hoàn hảo. Tôi đã dành hàng giờ rùng rợn thông qua các tài liệu và không bao giờ thấy một tham chiếu đến SortBy, hoặc AbsoluteTime! –
+1, chưa bao giờ nghe nói về 'SortBy' trước đây. Tôi đã luôn luôn sử dụng 'Sắp xếp', cộng với chức năng sắp xếp tùy chỉnh. – rcollyer
Tôi cũng thích giải pháp này (và tôi cũng đã không nghe nói về AbsoluteTime). Một biến thể nhỏ là DateList (mà tôi đã chơi xung quanh) cũng sẽ hoạt động, như sau: SortBy [l, DateList [{# [[1]], {"Day", "Month", "Year"}} ] &] // TableForm – tomd