Hướng dẫn find mode in dictionary python - chế độ tìm kiếm trong từ điển python

Tôi hiện đang thực hiện một bài tập trong đó tôi cần tìm chế độ (mục thường xuyên nhất) trong từ điển. Tôi đã tạo một phương thức khởi tạo giá trị của mỗi phím là 1 và tăng giá trị của nó lên 1 mỗi lần lặp lại. Ví dụ: trong từ điển chứa các khóa {1,1,2,3}, khóa '1', sẽ có giá trị là 2. Tôi đã chạy một số thử nghiệm bằng cách sử dụng hàm in và đoạn mã này hoạt động như dự định. Bước tiếp theo là chạy hàm tối đa () trên các giá trị của từ điển để xác định cái nào là lớn nhất. Vấn đề tôi gặp phải là một số khóa của tôi có cùng giá trị. Ví dụ: cả hai khóa '2' và '7' đều có giá trị 3 khi chạy trên chương trình thử nghiệm, nhưng hàm tối đa () chỉ trả về phím '7'. Tôi cần có khả năng trả lại cả hai khóa này và nối chúng vào một mảng gọi là chế độ []. Đây là những gì tôi có cho đến nay:

def mode(data):
    dictionary = {}

    # Part 1:
    # Update dictionary so that each dictionary key is a value in data and
    # each dictionary value is the correspinding number of times that value occurs:
    for item in data:
        if item in dictionary:
            dictionary[item] += 1
        else:
            dictionary[item] = 1
        print("dicitionary contents: ", dictionary)
            
    # Part 2:
    # Find the maximum of the dictionary values:
    maxTimes = max(dictionary, key=dictionary.get)
    print("max value: ", maxTimes)
    
    # Part 3:
    # Create a list of the keys that have the maximum value:
    modes = []
    for item in dictionary:
        if item == maxTimes:
            modes.append(item)
            

    # Part 4:
    # If no item occurs more than the others, then there is no  mode:

    return modes

Tôi có một tệp văn bản với số lượng không xác định được bao gồm. Chương trình của tôi đọc trong các giá trị và tính toán giá trị tối thiểu, giá trị tối đa, phạm vi và trung bình. Điều cuối cùng tôi phải làm là tìm chế độ của bộ.

Tôi có một danh sách được sắp xếp mà tôi đang lặp lại với một vòng lặp để đặt tất cả các số trong một từ điển trong đó khóa là số và giá trị cho mỗi số là số lần xảy ra. Tôi hiểu làm thế nào để làm tất cả những điều đó, nhưng bây giờ tôi cần xuất ra chế độ của bộ.

num_count = {}

for num in num_list:
    if num in num_count:
        num_count[num] += 1
    if num not in num_count:
        num_count[num] = 1

Mã trên là những gì đặt tất cả các số trong từ điển từ danh sách và cung cấp cho chúng giá trị tương ứng với số lần đó xảy ra trong tệp, vì vậy bây giờ tôi chỉ cần xuất chế độ theo kiểu như [mode_1, mode_2, mode_3, vv ..], nhưng tôi chỉ có thể có một số xuất hiện.

Tôi có một tệp văn bản trong đó chế độ sẽ xuất ra như:

Mode: [660, 476]

Tuy nhiên, mã tôi có đầu ra như:

Mode: 660
Mode: 476

Đây là những gì tôi có cho đến nay:

maximum = 0

for num in num_count:
    count = num_count[num]
    if count > maximum:
        maximum = count
    if count == maximum:
        print('Mode: ', num)

Sử dụng một từ điển có vẻ như là cách dễ nhất để đi về điều này. Mọi sự trợ giúp sẽ rất được trân trọng. Vòng Python cơ bản sẽ là tốt nhất, mà không cần nhập những thứ như bộ đếm và như vậy.

Vì chúng tôi đã thảo luận về giá trị trung bình và trung bình, thống kê xu hướng trung tâm phổ biến nhất cuối cùng là chế độ. Chế độ là giá trị xảy ra thường xuyên nhất trong tập dữ liệu. Một mẹo hay để nhớ định nghĩa của chế độ là nó nghe rất giống với hầu hết các trò chơi. Đây có lẽ là ít hữu ích nhất trong ba số liệu thống kê nhưng vẫn có nhiều ứng dụng trong thế giới thực.

Ứng dụng chế độ

Hãy để giả vờ, chúng tôi là chuyên gia tư vấn cho Chipotle, và chúng tôi được cho là cung cấp cho công ty một số hiểu biết sâu sắc về ưu tiên đặt hàng và quy mô đặt hàng của khách hàng của họ. Vì vậy, bây giờ hãy để Lừa nghĩ về việc đo lường thống kê nào chúng ta sẽ sử dụng trong kịch bản này. Đối với kích thước đặt hàng, trung bình và trung bình là cả hai ứng cử viên, nhưng tôi sẽ chọn trung bình vì có thể có một số ngoại lệ như các đơn đặt hàng phục vụ công ty đắt tiền có thể bao gồm một tỷ lệ nhỏ các đơn đặt hàng tại cửa hàng của họ.

Sử dụng trung bình, chúng tôi sẽ có thể nói với chipotle giá đặt hàng trung bình của người dùng. Tuy nhiên, giá trị trung bình và trung bình sẽ không phải là một thống kê tốt để hiển thị mục phổ biến nhất trong menu. Đây là nơi chúng tôi sẽ sử dụng chế độ để tìm mục được đặt hàng thường xuyên nhất trên menu. Đây là thông tin rất sâu sắc cho Chipotle vì họ có thể sử dụng những gì họ học được từ dữ liệu này để cải thiện menu của họ hoặc cung cấp các mục mới tương tự như mục phổ biến nhất.

Bây giờ chúng tôi hiểu rằng chế độ có ứng dụng quan trọng, hãy để học cách tính toán thống kê này. Chà, trước hết, tôi xin lỗi trước và ước mình có một cách tốt hơn để làm điều đó bằng tay. Tuy nhiên, cách duy nhất để tìm chế độ là sắp xếp dữ liệu (tôi đề xuất từ ​​ít nhất đến lớn nhất) và đếm từng điểm và xem điểm dữ liệu nào là giá trị phổ biến nhất.

May mắn thay, mục tiêu của bài viết này không phải là dạy học sinh cách làm toán bằng tay mà là làm thế nào để làm điều đó trong Python. Tôi chỉ giới thiệu các động lực và tính toán bởi vì điều quan trọng đối với một lập trình viên là phải hiểu mã của họ đang làm gì.

Đối với bất kỳ ai giới hạn không có lập trình kinh nghiệm trong Python, vui lòng ngừng đọc ở đây và đăng ký vào một khóa học Python, lần này được trao trực tuyến trực tuyến hoặc trực tiếp ở NYC. Tìm chế độ không có thư viện là đau đớn nhưng rất hữu ích để học. Trong một vài bài đăng trên blog, chúng tôi sẽ chỉ ra cách các thư viện Python thực sự làm cho tất cả các tính toán này dễ dàng hơn nhiều.

*Tôi muốn lặp lại rằng mã này rất phức tạp cho một vấn đề đơn giản như vậy và tôi chỉ hiển thị nó cho tất cả các bạn như một khoảnh khắc giảng dạy. Vì mã này rất phức tạp, các lập trình viên sẽ luôn ủng hộ các thư viện nguồn mở nhưng nếu bạn không biết cách lập trình chế độ mà không sử dụng thư viện, bạn có thể gặp nhiều vấn đề khi sử dụng thư viện.

Hướng dẫn từng bước

  • Bước 1: Tạo một hàm được gọi là chế độ có trong một đối số

  • Bước 2: Tạo một biến từ điển trống

  • Bước 3: Tạo một vòng lặp để lặp lại giữa biến đối số

  • Bước 4: Sử dụng vòng lặp if-not và khác như một bộ đếm

  • Bước 5: Trả về danh sách hiểu biết lặp qua từ điển và trả về giá trị xuất hiện nhiều nhất.

  • Bước 6: Gọi hàm trên danh sách các số và nó sẽ in chế độ của bộ số đó.

Hướng dẫn find mode in dictionary python - chế độ tìm kiếm trong từ điển python

Làm thế nào để bạn tìm thấy chế độ của một từ điển trong Python?

Hướng dẫn từng bước..
Bước 1: Tạo một hàm gọi là chế độ có trong một đối số ..
Bước 2: Tạo một biến từ điển trống ..
Bước 3: Tạo vòng lặp for có lặp lại giữa biến đối số ..
Bước 4: Sử dụng vòng lặp if-not và khác như một bộ đếm ..

Làm thế nào để bạn tìm thấy chế độ trong một danh sách nhất định?

Chế độ tìm kiếm là số đó trong danh sách xảy ra thường xuyên nhất.Chúng tôi tính toán nó bằng cách tìm tần số của từng số có trong danh sách và sau đó chọn một số có tần số cao nhất.finding the frequency of each number present in the list and then choosing the one with highest frequency.

Làm thế nào để bạn tìm thấy chế độ mà không có chức năng trong Python?

Cách tốt nhất để tìm chế độ là sử dụng dict.Khóa là đầu vào của người dùng.Giá trị là tần số ...
Đầu tiên nhận được các yếu tố độc đáo từ đầu vào.....
Tạo một từ điển new_empty ..
Từ điển này lưu trữ các khóa dưới dạng các phần tử và giá trị duy nhất khi phần tử hiện tại được lặp lại bao nhiêu lần trong đầu vào gốc ..

Làm thế nào để bạn tìm thấy hai chế độ trong Python?

Sử dụng hàm multimode () từ mô -đun thống kê để tìm danh sách các chế độ trong Python.Hàm multimode () trong mô -đun thống kê lấy một số dữ liệu được đặt làm tham số và trả về danh sách các chế độ.Chúng ta có thể sử dụng chức năng này khi có nhiều giá trị phương thức có mặt trong một tập dữ liệu nhất định.. The multimode() function in the statistics module takes some data set as a parameter and returns a list of modes. We can use this function when more than one modal value is present in a given data set.