Đánh chỉ số và cắt mảng
Thuộc phần Dữ liệu và biểu đồ trong hành trình Machine Learning của Coddy. Bài học 8 trên 60.
Mảng (array) dùng chỉ số như danh sách (list), bắt đầu từ 0. Thời lượng luyện tập piano trong năm ngày, tính bằng phút:
practice = np.array([20, 0, 35, 15, 40])
print(practice[0]) # đầu tiên
print(practice[-1]) # cuối cùng
print(practice[1:4]) # vị trí từ 1 đến 3Kết quả in ra là:
20
40
[ 0 35 15]Mảng 2D dùng một cặp ngoặc vuông để chỉ hàng và cột, hàng trước. Mỗi hàng của stock là một cửa hàng, mỗi cột là một sản phẩm:
stock = np.array([[5, 8, 2, 6], [9, 1, 4, 3], [7, 0, 6, 8]])
print(stock[1, 2]) # một giá trị
print(stock[0]) # cả một hàng
print(stock[:, 3]) # cả một cộtKết quả in ra là:
4
[5 8 2 6]
[6 3 8]Ở vị trí hàng, dấu hai chấm có nghĩa là mọi hàng, còn lát cắt như 0:2 có nghĩa là một số hàng. Vì vậy, data[:, column] là một đặc trưng cho mọi mẫu.
Thử thách
DễBáo cáo của một khách sạn không chính xác. bookings có một hàng cho mỗi tuần và một cột cho mỗi ngày, từ thứ Hai đến Chủ nhật. Chương trình đọc tuần và ngày, được đánh số từ 1.
Mỗi dòng có một lỗi. Hãy sửa chúng để khớp với nhãn:
Week: cả tuầnWeekend: hai ngày cuối tuần đó, một lát cắtDay: ngày đó trong mọi tuầnBooked: ngày duy nhất đó
Với tuần 3, ngày 5:
Week 3: [11 12 13 17 20 24 26]
Weekend: [24 26]
Day 5: [18 19 20 21]
Booked: 20Tự làm thử
import numpy as np
# Số phòng được đặt tại một khách sạn nhỏ: mỗi hàng tương ứng với một tuần (từ tuần 1 đến tuần 4),
# mỗi cột tương ứng với một ngày (từ ngày 1 đến ngày 7, từ thứ Hai đến Chủ nhật)
bookings = np.array([
[12, 15, 14, 16, 18, 25, 27],
[10, 13, 15, 14, 19, 26, 28],
[11, 12, 13, 17, 20, 24, 26],
[9, 14, 16, 15, 21, 27, 29],
])
week = int(input())
day = int(input())
# Báo cáo in ra các số không đúng: bạn sửa các dòng bên dưới
row = bookings[week]
print(f"Week {week}: {row}")
print(f"Weekend: {row[5:6]}")
print(f"Day {day}: {bookings[day - 1]}")
print(f"Booked: {bookings[day - 1, week - 1]}")
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Dữ liệu và biểu đồ
5Biểu đồ đường và biểu đồ phân tán
Nhãn và tiêu đềBiểu đồ phân tánNhiều đường và chú giảiMàu sắc và dấu đánh dấuHình và trụcÔn tập: Số bước mỗi tuần11Bộ dữ liệu dành cho ML
Bộ dữ liệu có sẵnĐặc trưng và nhãnKhám phá theo lớpVẽ biểu đồ các lớpÔn tập: bộ dữ liệu Wine3Phép toán với mảng
Phép toán trên toàn bộ mảngThống kê tổng hợpThống kê theo trụcPhép broadcastingMặt nạ BooleanÔn tập: Điểm thi6Biểu đồ dữ liệu
Biểu đồ cộtBiểu đồ tần suấtNhiều biểu đồ trong một hìnhHình ảnh dưới dạng mảngÔn tập: Báo cáo lượng mưa9Nhóm và làm sạch dữ liệu
Đếm giá trịNhóm dữ liệuNhiều phép tổng hợpGiá trị thiếuÔn tập: Kết quả khảo sát12Thử thách cuối cùng
Báo cáo doanh sốSố liệu cảm biếnCác chữ số trong nháy mắtNhà thám hiểm chim cánh cụtTự luyện tập: Trình biên dịch Python online