Giải pháp của vấn đề này đã có là Tìm k từ thường xuyên nhất từ một tệp. Nhưng chúng ta có thể giải quyết vấn đề này rất hiệu quả trong Python với sự trợ giúp của một số mô-đun hiệu năng cao
Tập lệnh Python đơn giản mà không cần sử dụng các thư viện xử lý văn bản nặng để trích xuất các từ phổ biến nhất từ kho văn bản
Giá trị thường xuyên nhất trong sê-ri gấu trúc về cơ bản là chế độ của sê-ri. Bạn có thể lấy chế độ bằng cách sử dụng chức năng chuỗi gấu trúc
# most frequent value in a pandas column df['Col'].value_counts[].idxmax[]4. Sau đây là cú pháp
# get mode of a pandas column df['Col'].mode[]
Nó trả về các chế độ của chuỗi theo thứ tự được sắp xếp
Bạn cũng có thể sử dụng hàm pandas
# most frequent value in a pandas column df['Col'].value_counts[].idxmax[]5 với hàm
# most frequent value in a pandas column df['Col'].value_counts[].idxmax[]6 để trả về giá trị có số đếm cao nhất. Sau đây là cú pháp
# most frequent value in a pandas column df['Col'].value_counts[].idxmax[]
Hãy xem xét một số ví dụ về nhận chế độ trong cột gấu trúc
Trước tiên, hãy tạo một khung dữ liệu với trường phân loại mà chúng ta sẽ sử dụng trong suốt hướng dẫn này
import pandas as pd # create a dataframe df = pd.DataFrame[{ 'Name': ['Steve', 'Varun', 'Maya', 'Jones', 'Emily', 'Stuart', 'Karen'], 'Team': ['Red', 'Blue', 'Blue', 'Red', 'Green', 'Green', 'Blue'] }] # display the dataframe print[df]
đầu ra
Name Team 0 Steve Red 1 Varun Blue 2 Maya Blue 3 Jones Red 4 Emily Green 5 Stuart Green 6 Karen Blue
Khung dữ liệu df lưu trữ tên và thông tin nhóm của sinh viên cho một dự án khoa học. Cột “Nhóm” là một trường phân loại với các giá trị đại diện cho nhóm được chỉ định cho học sinh tương ứng
1. Giá trị thường xuyên nhất với # most frequent value in a pandas column
df['Col'].value_counts[].idxmax[]
4
Chế độ là một thống kê mô tả bằng với giá trị thường xuyên nhất trong tập dữ liệu. Hãy áp dụng hàm
# most frequent value in a pandas column df['Col'].value_counts[].idxmax[]4 của pandas series để lấy giá trị thường xuyên nhất trong cột “Nhóm”, về cơ bản cho chúng ta biết nhóm nào có nhiều học sinh nhất
# most frequent value in Team df['Team'].mode[]
đầu ra
0 Blue dtype: object
Nó trả về một chuỗi pandas với chế độ của cột. Bạn có thể thấy rằng chúng tôi lấy “Xanh dương” làm chế độ vì đây là giá trị thường xuyên nhất trong cột “Nhóm”
Lưu ý rằng bạn cũng có thể áp dụng hàm mode[] trên khung dữ liệu gấu trúc để lấy chế độ của từng cột
2. Giá trị thường xuyên nhất với # most frequent value in a pandas column
df['Col'].value_counts[].idxmax[]
5
Hàm pandas
# most frequent value in a pandas column df['Col'].value_counts[].idxmax[]5 được sử dụng để đếm số lượng của từng giá trị duy nhất trong chuỗi gấu trúc. Bạn có thể sử dụng nó để lấy số lượng và sau đó trích xuất giá trị có số lượng nhiều nhất bằng cách sử dụng hàm
# most frequent value in a pandas column df['Col'].value_counts[].idxmax[]6. Ví dụ -
# most frequent value in Team df['Team'].value_counts[].idxmax[]
đầu ra
'Blue'
Chúng tôi nhận được giá trị có số lượng giá trị cao nhất trong cột "Nhóm"
Lưu ý rằng phương pháp này chỉ đưa ra một giá trị duy nhất làm đầu ra ngay cả khi có nhiều hơn một chế độ
Điều gì xảy ra nếu chúng ta có hai giá trị thường xuyên nhất?
Hãy cùng tìm hiểu xem hai phương pháp trên cho kết quả gì khi chúng ta có sự ràng buộc về giá trị thường xuyên nhất
Đối với điều này, hãy sửa đổi khung dữ liệu để chúng tôi có hai chế độ trong cột "Nhóm". Ở đây, chúng tôi sửa đổi giá trị “Nhóm” cho “Jones” từ “Đỏ” thành “Xanh lục”
# change Jones' team to Green df.at[3, 'Team'] = 'Green' # display the dataframe print[df]
đầu ra
Name Team 0 Steve Red 1 Varun Blue 2 Maya Blue 3 Jones Green 4 Emily Green 5 Stuart Green 6 Karen Blue
Bạn có thể thấy rằng bây giờ chúng ta có hai chế độ - “Xanh dương” và “Xanh lục” cả hai đều xuất hiện ba lần trong cột “Đội”
Bây giờ, hãy cùng tìm chế độ của “Đội” với hàm
# most frequent value in a pandas column df['Col'].value_counts[].idxmax[]4
# most frequent value in Team df['Team'].mode[]
đầu ra
# most frequent value in a pandas column df['Col'].value_counts[].idxmax[]1
Chúng tôi nhận được cả hai chế độ trong loạt trả lại
Hãy kiểm tra những gì chúng tôi nhận được với phương pháp
# most frequent value in a pandas column df['Col'].value_counts[].idxmax[]5 và
# most frequent value in a pandas column df['Col'].value_counts[].idxmax[]6
# most frequent value in Team df['Team'].value_counts[].idxmax[]
đầu ra
# most frequent value in a pandas column df['Col'].value_counts[].idxmax[]3
Chúng tôi chỉ nhận được một trong hai chế độ. Điều này xảy ra vì idxmax[] chỉ trả về một giá trị – “Nếu nhiều giá trị bằng giá trị lớn nhất, nhãn hàng đầu tiên có giá trị đó được trả về. ”
Vì vậy, bạn nên sử dụng hàm `mode[]` của chuỗi pandas để nhận giá trị thường xuyên nhất trong chuỗi pandas
Với điều này, chúng ta đi đến phần cuối của hướng dẫn này. Các ví dụ về mã và kết quả được trình bày trong hướng dẫn này đã được triển khai trong Jupyter Notebook với python [phiên bản 3. 8. 3] kernel có gấu trúc phiên bản 1. 0. 5
Đăng ký nhận bản tin của chúng tôi để biết thêm thông tin hướng dẫn và hướng dẫn
Chúng tôi không spam và bạn có thể từ chối bất cứ lúc nào
Tác giả
Piyush Raj
Piyush là một chuyên gia dữ liệu đam mê sử dụng dữ liệu để hiểu mọi thứ tốt hơn và đưa ra quyết định sáng suốt. Trước đây, anh ấy từng là Nhà khoa học dữ liệu cho ZS và có bằng kỹ sư của IIT Roorkee. Sở thích của anh ấy bao gồm xem cricket, đọc sách và làm việc trong các dự án phụ