Thùng trong Python là gì

hàm bin[] được sử dụng để chuyển đổi một số thành nhị phân. Nếu bạn chuyển một số vào hàm bin[], thì hàm này sẽ trả về biểu diễn nhị phân của số đó

Số nhị phân trong Python bắt đầu bằng 0b. Kết quả của hàm bin[] cũng bắt đầu bằng 0b. Đừng nhầm lẫn với điều đó

Hàm bin[] chuyển đổi một số thập phân thành nhị phân. Bạn có thể sử dụng số nguyên dương hoặc số nguyên âm làm tham số cần chuyển đổi

cú pháp

Dưới đây là cú pháp của hàm

bin[n]
Parameters : an integer to convert
Return Value : A binary string of an integer or int object.
Exceptions : Raises TypeError when a float value is sent as argument.

Trong ví dụ dưới đây, chúng tôi chuyển đổi một số nguyên dương và một số nguyên âm thành nhị phân. Kết quả đưa ra với tiền tố 0b để cho biết rằng số đó là biểu diễn nhị phân

Ví dụ

n = input["Enter an integer :"]
dec_number = int[n]
bin_number = bin[dec_number]
print[bin_number]

đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Write the code result here.
Result
Enter an integer :23
0b10111
Enter an integer :-31
-0b11111

Nếu chúng ta không muốn tiền tố 0b ở phía trước số được chuyển đổi, thì chúng ta cần áp dụng hàm chuỗi để loại bỏ 2 ký tự đầu tiên

Binning còn được gọi là nhóm hoặc rời rạc hóa là một kỹ thuật xử lý trước dữ liệu phổ biến được sử dụng để nhóm các khoảng thời gian dữ liệu liên tục thành "thùng" hoặc "nhóm". Trong bài viết này, chúng ta sẽ thảo luận về 4 phương pháp để tạo các giá trị số bằng thư viện python Pandas

Ảnh của Pawel Czerwinski trên BaptMethods

Chúng tôi tạo dữ liệu tổng hợp sau đây cho mục đích minh họa

import pandas as pd # version 1.3.5
import numpy as np
def create_df[]: df = pd.DataFrame[{'score': np.random.randint[0,101,1000]}] return dfdf = create_df[]df.head[]

Dữ liệu bao gồm điểm học tập từ 0 đến 100 cho 1000 sinh viên. Nhiệm vụ là sắp xếp các điểm số thành các loại giá trị “A”, “B” và “C” trong đó “A” là điểm tốt nhất và “C” là điểm kém hơn

Hình ảnh của tác giả1. giữa & loc

Phương thức

df.loc[df['score'].between[0, 50, 'both'], 'grade'] = 'C'
df.loc[df['score'].between[50, 80, 'right'], 'grade'] = 'B'
df.loc[df['score'].between[80, 100, 'right'], 'grade'] = 'A'
0 của Pandas trả về một vectơ boolean chứa True ở bất kỳ đâu mà phần tử Sê-ri tương ứng nằm giữa các giá trị biên trái và phải[1]

Thông số

  • df.loc[df['score'].between[0, 50, 'both'], 'grade'] = 'C'
    df.loc[df['score'].between[50, 80, 'right'], 'grade'] = 'B'
    df.loc[df['score'].between[80, 100, 'right'], 'grade'] = 'A'
    1. ranh giới bên trái
  • df.loc[df['score'].between[0, 50, 'both'], 'grade'] = 'C'
    df.loc[df['score'].between[50, 80, 'right'], 'grade'] = 'B'
    df.loc[df['score'].between[80, 100, 'right'], 'grade'] = 'A'
    2. ranh giới bên phải
  • df.loc[df['score'].between[0, 50, 'both'], 'grade'] = 'C'
    df.loc[df['score'].between[50, 80, 'right'], 'grade'] = 'B'
    df.loc[df['score'].between[80, 100, 'right'], 'grade'] = 'A'
    3. Bao gồm ranh giới nào. Các giá trị được chấp nhận là {“cả hai”, “không”, “trái”, “phải”}

Cho phép phân loại điểm của học sinh thành các lớp dựa trên các khoảng thời gian sau

  • A. [80, 100]
  • B. [50, 80]
  • C. [0, 50]

Trong đó dấu ngoặc vuông ________ 44 và dấu ngoặc tròn ________ 45 chỉ ra rằng giá trị ranh giới lần lượt là bao gồm và loại trừ

Chúng tôi xác định

df.loc[df['score'].between[0, 50, 'both'], 'grade'] = 'C'
df.loc[df['score'].between[50, 80, 'right'], 'grade'] = 'B'
df.loc[df['score'].between[80, 100, 'right'], 'grade'] = 'A'
6 nào nằm giữa các khoảng thời gian quan tâm và gán các giá trị
df.loc[df['score'].between[0, 50, 'both'], 'grade'] = 'C'
df.loc[df['score'].between[50, 80, 'right'], 'grade'] = 'B'
df.loc[df['score'].between[80, 100, 'right'], 'grade'] = 'A'
7 tương ứng cho nó. Đối với điểm “A” và “B” chỉ bao gồm ranh giới bên phải do đó chúng tôi chuyển
df.loc[df['score'].between[0, 50, 'both'], 'grade'] = 'C'
df.loc[df['score'].between[50, 80, 'right'], 'grade'] = 'B'
df.loc[df['score'].between[80, 100, 'right'], 'grade'] = 'A'
2 cho tham số
df.loc[df['score'].between[0, 50, 'both'], 'grade'] = 'C'
df.loc[df['score'].between[50, 80, 'right'], 'grade'] = 'B'
df.loc[df['score'].between[80, 100, 'right'], 'grade'] = 'A'
3. Đối với lớp “C”, cả hai ranh giới đều được bao gồm do đó chúng tôi đã chuyển
n = input["Enter an integer :"]
dec_number = int[n]
bin_number = bin[dec_number]
print[bin_number]
40 cho tham số
df.loc[df['score'].between[0, 50, 'both'], 'grade'] = 'C'
df.loc[df['score'].between[50, 80, 'right'], 'grade'] = 'B'
df.loc[df['score'].between[80, 100, 'right'], 'grade'] = 'A'
3

df.loc[df['score'].between[0, 50, 'both'], 'grade'] = 'C'
df.loc[df['score'].between[50, 80, 'right'], 'grade'] = 'B'
df.loc[df['score'].between[80, 100, 'right'], 'grade'] = 'A'

Hình ảnh của tác giả

Đây là số học sinh trong mỗi thùng

n = input["Enter an integer :"]
dec_number = int[n]
bin_number = bin[dec_number]
print[bin_number]
4

Hình ảnh của tác giả

Phương pháp này yêu cầu một dòng mã mới cho mỗi thùng do đó nó chỉ phù hợp với các trường hợp có ít thùng

2. cắt tỉa

Giá trị bin thành các khoảng rời rạc. Sử dụng cắt khi bạn cần phân đoạn và sắp xếp các giá trị dữ liệu vào các thùng. Hàm này cũng hữu ích để chuyển từ biến liên tục sang biến phân loại[2]

Các sinh viên được đánh dấu dựa trên cùng một khoảng thời gian như ví dụ trên. Đây là những thông số được sử dụng

  • n = input["Enter an integer :"]
    dec_number = int[n]
    bin_number = bin[dec_number]
    print[bin_number]
    42. Mảng đầu vào được binned. Phải là 1 chiều
  • n = input["Enter an integer :"]
    dec_number = int[n]
    bin_number = bin[dec_number]
    print[bin_number]
    43. Chuỗi vô hướng. Xác định các cạnh thùng cho phép chiều rộng không đồng nhất
  • n = input["Enter an integer :"]
    dec_number = int[n]
    bin_number = bin[dec_number]
    print[bin_number]
    44. Chỉ định nhãn cho các thùng được trả lại. Phải có cùng chiều dài với các thùng kết quả
  • n = input["Enter an integer :"]
    dec_number = int[n]
    bin_number = bin[dec_number]
    print[bin_number]
    45. [bool] Khoảng đầu tiên có nên bao hàm bên trái hay không
Write the code result here.
Result
Enter an integer :23
0b10111
Enter an integer :-31
-0b11111
2

Chúng tôi tạo danh sách

n = input["Enter an integer :"]
dec_number = int[n]
bin_number = bin[dec_number]
print[bin_number]
43 chứa các giá trị biên của các thùng và danh sách
n = input["Enter an integer :"]
dec_number = int[n]
bin_number = bin[dec_number]
print[bin_number]
44 chứa các nhãn thùng tương ứng

Hình ảnh của tác giả

Đây là số học sinh trong mỗi thùng

n = input["Enter an integer :"]
dec_number = int[n]
bin_number = bin[dec_number]
print[bin_number]
4

Hình ảnh của tác giả

Kết quả giống với ví dụ đầu tiên

3. qcut

Chức năng rời rạc dựa trên lượng tử. Biến rời rạc thành các nhóm có kích thước bằng nhau dựa trên thứ hạng hoặc dựa trên lượng tử mẫu[3]

Trong các ví dụ trước, chúng tôi đã xác định khoảng cách điểm số cho từng lớp dẫn đến số lượng học sinh không đồng đều trong mỗi nhóm lớp. Trong ví dụ sau, chúng tôi cố gắng chia học sinh thành 3 nhóm lớp, mỗi nhóm có số học sinh [xấp xỉ] bằng nhau. Chúng tôi có 1000 học sinh nên mỗi thùng nên có khoảng 333 học sinh. Các học sinh được xếp hạng đầu tiên theo điểm số của họ và một phần ba học sinh ở trên cùng, ở giữa và dưới cùng được xếp vào các ô cấp độ “A”, “B” và “C” tương ứng

Đây là các tham số đã được sử dụng trong ví dụ sau

  • n = input["Enter an integer :"]
    dec_number = int[n]
    bin_number = bin[dec_number]
    print[bin_number]
    42. Mảng đầu vào được binned. Phải là 1 chiều
  • n = input["Enter an integer :"]
    dec_number = int[n]
    bin_number = bin[dec_number]
    print[bin_number]
    49. Số lượng phân vị. 10 cho deciles, 4 cho tứ phân vị, v.v. Mảng lượng tử xen kẽ, e. g. [0,. 25,. 5,. 75, 1. ] cho phần tư
  • n = input["Enter an integer :"]
    dec_number = int[n]
    bin_number = bin[dec_number]
    print[bin_number]
    44. Chỉ định nhãn cho các thùng được trả lại. Phải có cùng chiều dài với các thùng kết quả
  • Write the code result here.
    Result
    Enter an integer :23
    0b10111
    Enter an integer :-31
    -0b11111
    21. [bool] Có trả lại [thùng, nhãn] hay không. Có thể hữu ích nếu các thùng được đưa ra dưới dạng vô hướng
import pandas as pd # version 1.3.5
import numpy as np
def create_df[]: df = pd.DataFrame[{'score': np.random.randint[0,101,1000]}] return dfdf = create_df[]df.head[]
0

Hình ảnh của tác giả

Vượt qua

Write the code result here.
Result
Enter an integer :23
0b10111
Enter an integer :-31
-0b11111
21 vì
Write the code result here.
Result
Enter an integer :23
0b10111
Enter an integer :-31
-0b11111
23 trả về ranh giới bin

import pandas as pd # version 1.3.5
import numpy as np
def create_df[]: df = pd.DataFrame[{'score': np.random.randint[0,101,1000]}] return dfdf = create_df[]df.head[]
3

Các thùng có các khoảng sau

  • C. [0, 36]
  • B. [36, 68]
  • A. [68, 100]

Chúng tôi có thể kiểm tra xem có bao nhiêu học sinh trong mỗi ngăn lớp bằng cách sử dụng

Write the code result here.
Result
Enter an integer :23
0b10111
Enter an integer :-31
-0b11111
24. Lý tưởng nhất là mỗi thùng nên có khoảng 333 học sinh

n = input["Enter an integer :"]
dec_number = int[n]
bin_number = bin[dec_number]
print[bin_number]
4

Hình ảnh của tác giả4. số lượng giá trị

Mặc dù pandas

Write the code result here.
Result
Enter an integer :23
0b10111
Enter an integer :-31
-0b11111
25 thường được sử dụng để đếm số lượng giá trị duy nhất trong một chuỗi, nhưng nó cũng có thể được sử dụng để nhóm các giá trị vào các ngăn mở một nửa bằng cách sử dụng tham số
n = input["Enter an integer :"]
dec_number = int[n]
bin_number = bin[dec_number]
print[bin_number]
43[4]

import pandas as pd # version 1.3.5
import numpy as np
def create_df[]: df = pd.DataFrame[{'score': np.random.randint[0,101,1000]}] return dfdf = create_df[]df.head[]
8

Theo mặc định,

Write the code result here.
Result
Enter an integer :23
0b10111
Enter an integer :-31
-0b11111
25 sắp xếp chuỗi trả về theo thứ tự giá trị giảm dần. Đặt
Write the code result here.
Result
Enter an integer :23
0b10111
Enter an integer :-31
-0b11111
28 thành
Write the code result here.
Result
Enter an integer :23
0b10111
Enter an integer :-31
-0b11111
29 để sắp xếp chuỗi theo thứ tự tăng dần của chỉ mục

Hình ảnh của tác giả

Chỉ số sê-ri đề cập đến phạm vi khoảng thời gian cho mỗi ngăn trong đó dấu ngoặc vuông ________ 44 và dấu ngoặc tròn ________ 45 cho biết giá trị ranh giới lần lượt là bao gồm và loại trừ. Các giá trị của chuỗi được trả về cho biết có bao nhiêu bản ghi trong mỗi ngăn

Không giống như ví dụ về

n = input["Enter an integer :"]
dec_number = int[n]
bin_number = bin[dec_number]
print[bin_number]
42, số lượng bản ghi trong mỗi ngăn không nhất thiết giống nhau [xấp xỉ].
Write the code result here.
Result
Enter an integer :23
0b10111
Enter an integer :-31
-0b11111
25 không chỉ định số lượng bản ghi bằng nhau vào mỗi ngăn điểm, thay vào đó, nó chia phạm vi điểm thành 3 phần bằng nhau dựa trên điểm tối đa và tối thiểu. Điểm số có giá trị tối thiểu là 0 và giá trị tối đa là 100, do đó mỗi phần trong số 3 phần đều xấp xỉ trong phạm vi 33. 33. Điều này cũng giải thích tại sao ranh giới của các thùng là bội số của 33. 33 ngoại trừ ranh giới thấp nhất bên trái

Chúng tôi cũng có thể xác định ranh giới bin bằng cách chuyển vào danh sách các ranh giới

df.loc[df['score'].between[0, 50, 'both'], 'grade'] = 'C'
df.loc[df['score'].between[50, 80, 'right'], 'grade'] = 'B'
df.loc[df['score'].between[80, 100, 'right'], 'grade'] = 'A'
6

Hình ảnh của tác giả

Điều này cho chúng ta kết quả giống như ví dụ 1 và 2

Tóm lược

Trong bài viết này, chúng tôi đã kiểm tra cách phân loại các giá trị liên tục bằng cách sử dụng

n = input["Enter an integer :"]
dec_number = int[n]
bin_number = bin[dec_number]
print[bin_number]
44,
n = input["Enter an integer :"]
dec_number = int[n]
bin_number = bin[dec_number]
print[bin_number]
45,
n = input["Enter an integer :"]
dec_number = int[n]
bin_number = bin[dec_number]
print[bin_number]
42 và
Write the code result here.
Result
Enter an integer :23
0b10111
Enter an integer :-31
-0b11111
25. Bạn có thể tìm thấy sổ tay Colab cho ví dụ trên tại đây

Làm cách nào để tạo một thùng trong Python?

Có thể sử dụng hàm Python sau để tạo thùng. .
def create_bins[lower_bound, chiều rộng, số lượng]. """ create_bins trả về phân vùng có chiều rộng [khoảng cách] bằng nhau. .
thùng = tạo_bins[lower_bound=10, chiều rộng=10, số lượng=5] thùng

Data binning trong Python là gì?

Khai thác dữ liệu là một loại tiền xử lý dữ liệu, một cơ chế bao gồm cả việc xử lý các giá trị bị thiếu, định dạng, chuẩn hóa và tiêu chuẩn hóa . Binning có thể được áp dụng để chuyển đổi các giá trị số thành giá trị số phân loại hoặc mẫu [lượng tử hóa].

Việc sử dụng nhị phân trong Python là gì?

Trong Python, bạn chỉ cần sử dụng hàm bin[] để chuyển đổi từ giá trị thập phân sang giá trị nhị phân tương ứng . Và tương tự, hàm int[] để chuyển đổi nhị phân thành giá trị thập phân của nó. Hàm int[] nhận đối số thứ hai là cơ số của số được chuyển đổi, là 2 trong trường hợp số nhị phân.

0b trong hệ nhị phân là gì?

'0b' được dùng để báo cho máy tính biết rằng số bạn đã nhập là số cơ số 2, không phải số cơ số 10 . Đệ trình bởi Omar Zaffar Khan.

Chủ Đề