Giả sử, bạn có một khung dữ liệu,
DataFrame is: id mark age 0 1 70 12 1 2 60 13 2 3 40 12 3 4 50 13 4 5 80 12 5 6 90 13 6 7 60 12
Và, kết quả để chọn bất kỳ hàng chỉ mục lẻ ngẫu nhiên nào là,
Random odd index row is: id 4 mark 50 age 13
Giải pháp
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước dưới đây -
-
Xác định khung dữ liệu
-
Tạo một danh sách trống để nối các giá trị chỉ mục lẻ
-
Tạo vòng lặp for để truy cập tất cả chỉ mục. Nó được định nghĩa bên dưới,
for i in df.index.values:
-
Tạo điều kiện if để kiểm tra chỉ số lẻ. Nếu nó khớp, thì nối các giá trị vào danh sách,
if(i%2==1): l.append(i)
-
Tạo bất kỳ một giá trị ngẫu nhiên nào từ danh sách và lưu trữ nó random_index
random_index = rand.choice(l)
-
Cuối cùng, in hàng chỉ mục lẻ bằng iloc.
df.iloc[random_index]
Ví dụ
Hãy xem cách triển khai bên dưới để hiểu rõ hơn -
import pandas as pd import random as rand df = pd.DataFrame({'id': [1,2,3,4,5,6,7], 'mark': [70,60,40,50,80,90,60], 'age':[12,13,12,13,12,13,12] }) print("DataFrame is:\n",df) l = [] for i in df.index.values: if(i%2==1): l.append(i) random_index = rand.choice(l) print("Random odd index row is: \n", df.iloc[random_index])
Đầu ra
DataFrame is: id mark age 0 1 70 12 1 2 60 13 2 3 40 12 3 4 50 13 4 5 80 12 5 6 90 13 6 7 60 12 Random odd index row is: id 4 mark 50 age 13 Name: 3, dtype: int64