Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chọn ngẫu nhiên 1 hàng từ DataFrame Python pandas

Giả sử bạn muốn chọn ngẫu nhiên một hàng từ DataFrame.

Giải pháp

  • Tạo DataFrame.
  • Lấy số hàng: rows = df.shape[0].
  • Chọn index ngẫu nhiên: random.randrange(rows).
  • Lấy hàng: df.iloc[random_row, :].

Mã ví dụ

import pandas as pd
import random as r

data = {
    'Id': [1,2,3,4,5],
    'Name': ['Adam', 'Michael', 'David', 'Jack', 'Peter']
}
df = pd.DataFrame(data)

print("DataFrame:\n", df)

rows = df.shape[0]
print("Tổng số hàng:", rows)

random_row = r.randrange(rows)
print("Index ngẫu nhiên:", random_row)

print("\nHàng ngẫu nhiên:\n", df.iloc[random_row, :])

Kết quả mẫu

DataFrame:
   Id     Name
0   1     Adam
1   2  Michael
2   3    David
3   4     Jack
4   5   Peter

Tổng số hàng: 5
Index ngẫu nhiên: 3
Hàng ngẫu nhiên:
Id     4
Name   Jack
Name: 3, dtype: object

Cách ngắn gọn hơn:

# Chọn 1 hàng ngẫu nhiên (sample)
df.sample(n=1)

# Chọn n hàng ngẫu nhiên
df.sample(n=3)

# Có thể gán seed để tái lập
df.sample(n=1, random_state=42)

sample() là phương pháp chuẩn và khuyên dùng trong pandas.