Tôi có một DataFrame mà trông giống như:Sử dụng Pandas để lấy mẫu DataFrame sử dụng trọng lượng của một cột cụ thể của
index name city
0 Yam Hadera
1 Meow Hadera
2 Don Hadera
3 Jazz Hadera
4 Bond Tel Aviv
5 James Tel Aviv
Tôi muốn Pandas để lựa chọn một cách ngẫu nhiên các giá trị, bằng cách sử dụng số lần ra sân trong cột city
(loại sử dụng: df.city.value_counts()
), do đó kết quả của chức năng kỳ diệu của tôi, giả sử:
df.magic_sample(3, weight_column='city')
có thể trông giống như:
0 Yam Hadera
1 Meow Hadera
2 Bond Tel Aviv
Cảm ơn! :)
Cảm ơn! Cuối cùng, đối với các tập dữ liệu lớn hơn, nó chọn ít hơn giá trị 'N' trong tổng thể (trong ví dụ của bạn, N = 3). Có cách nào để làm điều đó để tôi nhận được chính xác N giá trị trong tổng số? – Infinity
@Infinity Điều gì sẽ xảy ra nếu bạn có 10 nhóm với 2 hàng và N = 3? –
Khi @TedPetrou nhận xét, phương pháp lấy mẫu này có thể không phải lúc nào cũng hoạt động vì bạn chỉ có thể lấy số nguyên của các hàng từ một nhóm, nhưng * tổng số * hàng * có thể phân số. – Psidom