cuốn sách gpt4 ai đã làm

android — Lọc tệp văn bản dựa trên nhiều cột

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 19:02:47 26 4
mua khóa gpt4 Nike

Tôi gặp một vấn đề không quan trọng theo nghĩa lập trình thông thường, nhưng tôi muốn tìm một giải pháp khác và nếu có thể, hãy sử dụng một số thủ thuật Python để giải quyết.

Tôi có một tập tin văn bản như sau:

A1 1 5 g1_0 10
A1 6 8 g2_0 13
A1 9 12 g3 18
A1 15 24 g4 2
A1 25 27 g5 5
A1 30 33 g1_1 20
A1 44 67 g10 19
A1 69 77 g9 19
A1 80 99 g6 19
A1 153 166 g2_1 19

Điều tôi muốn làm là lọc tệp văn bản theo: Khi tôi có "_0" hoặc "_1" hoặc "_2" trong cột 4, tôi muốn kiểm tra cột 5. Nếu cột 5 có số lớn nhất, tôi muốn xóa tất cả các số khác có "_" và chỉ giữ lại số có "_" có điểm cao hơn.

Tái bút: Đối với mỗi giá trị trong cột 4, tôi muốn giữ giá trị có số điểm cao nhất. Ví dụ: trong trường hợp này, các giá trị sẽ vẫn giữ nguyên, không phải tất cả đều là so sánh mà mỗi cặp hoặc bộ ba có "_0" nên được so sánh riêng lẻ với "_1" "_2" để đạt điểm cao nhất:

A1 9 12 g3 18
A1 15 24 g4 2
A1 25 27 g5 5
A1 30 33 g1_1 20
A1 44 67 g10 19
A1 69 77 g9 19
A1 80 99 g6 19
A1 153 166 g2_1 19

Có cách nào để làm điều này mà không lặp lại quá nhiều?

câu trả lời hay nhất

nhập numpy dưới dạng np
nk=np.genfromtxt('input.txt', dtype=None)
kết quả1={}
cho x trong nk:
result1.setdefault(x[3].split('_')[0],[]).append(x[4])
cho x trong nk:
if x[4]==max(result1[x[3].split('_')[0]]):print x

Đầu ra:

('A1', 9, 12, 'g3', 18)
('A1', 15, 24, 'g4', 2)
('A1', 25, 27, 'g5', 5)
('A1', 30, 33, 'g1_1', 20)
('A1', 44, 67, 'g10', 19)
('A1', 69, 77, 'g9', 19)
('A1', 80, 99, 'g6', 19)
('A1', 153, 166, 'g2_1', 19)

Về python - lọc tệp văn bản dựa trên nhiều cột, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/15613066/

26 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress