Hướng dẫn equal frequency binning python pandas - gấu trúc python binning tần số bằng nhau

df['ext price'].describe()
2 có chức năng gọi là
df['ext price'].describe()
3 sẽ làm những gì bạn muốn. Chỉ cần vượt qua cột
df['ext price'].describe()
4:

Show
In []:
qc = pd.qcut(df['data'], q=3, precision=0)
qc

Out[]:
0    (79.0, 89.0]
1    (44.0, 63.0]
2    (44.0, 63.0]
3    (63.0, 79.0]
4    (63.0, 79.0]
5    (79.0, 89.0]
Name: data, dtype: category
Categories (3, interval[float64]): [(44.0, 63.0] < (63.0, 79.0] < (79.0, 89.0]]

Bạn có thể sử dụng

df['ext price'].describe()
5 để nhận số lượng:

In []:
qc.value_counts().sort_index()

Out[]:
(44.0, 63.0]    2
(63.0, 79.0]    2
(79.0, 89.0]    2
Name: data, dtype: int64

Thứ Hai ngày 14 tháng 10 năm 2019

Hướng dẫn equal frequency binning python pandas - gấu trúc python binning tần số bằng nhau

Giới thiệu

Khi xử lý dữ liệu số liên tục, thường sẽ hữu ích khi chia dữ liệu thành nhiều thùng để phân tích thêm. Có một số thuật ngữ khác nhau để tạo ra bao gồm xô, binning rời rạc, rời rạc hoặc định lượng hóa. Pandas hỗ trợ các phương pháp này bằng cách sử dụng các hàm

df['ext price'].describe()
6 và
df['ext price'].describe()
7. Bài viết này sẽ mô tả ngắn gọn lý do tại sao bạn có thể muốn chia dữ liệu của mình và cách sử dụng các hàm gấu trúc để chuyển đổi dữ liệu liên tục thành một tập hợp các thùng riêng biệt. Giống như nhiều chức năng của gấu trúc,
df['ext price'].describe()
6 và
df['ext price'].describe()
7 có vẻ đơn giản nhưng có rất nhiều khả năng được đóng gói trong các chức năng đó. Ngay cả đối với người dùng có nhiều kinh nghiệm, tôi nghĩ bạn sẽ học được một vài thủ thuật sẽ hữu ích cho phân tích của riêng bạn & NBSP.

Binning

Một trong những trường hợp phổ biến nhất của Binning được thực hiện đằng sau hậu trường cho bạn khi tạo biểu đồ. Biểu đồ dưới đây của dữ liệu bán hàng của khách hàng, cho thấy cách một tập hợp các số bán hàng liên tục có thể được chia thành các thùng riêng biệt (ví dụ: $ 60.000 - 70.000 đô la) và sau đó được sử dụng để nhóm và đếm tài khoản & nbsp;

Dưới đây là mã cho thấy cách chúng tôi tóm tắt thông tin bán hàng năm 2018 cho một nhóm khách hàng. Đại diện này minh họa số lượng khách hàng có doanh số trong các phạm vi nhất định. Mã mẫu được bao gồm trong sổ ghi chép này nếu bạn muốn theo dõi & nbsp; cùng.

import pandas as pd
import numpy as np
import seaborn as sns

sns.set_style('whitegrid')

raw_df = pd.read_excel('2018_Sales_Total.xlsx')
df = raw_df.groupby(['account number', 'name'])['ext price'].sum().reset_index()

df['ext price'].plot(kind='hist')

Hướng dẫn equal frequency binning python pandas - gấu trúc python binning tần số bằng nhau

Có nhiều kịch bản khác mà bạn có thể muốn xác định thùng của riêng bạn. Trong ví dụ trên, có 8 thùng với dữ liệu. Điều gì sẽ xảy ra nếu chúng ta muốn chia khách hàng của mình thành các nhóm 3, 4 hoặc 5? Đó là nơi mà Pandas

df['ext price'].describe()
7 và
df['ext price'].describe()
6 phát huy tác dụng. Các chức năng này nghe có vẻ tương tự và thực hiện các chức năng Binning tương tự nhưng có sự khác biệt có thể gây nhầm lẫn với người dùng mới. Họ cũng có một số tùy chọn có thể làm cho chúng rất hữu ích cho phân tích hàng ngày. Phần còn lại của bài viết sẽ cho thấy sự khác biệt của họ là gì và cách sử dụng & nbsp; chúng.

Qcut

Tài liệu gấu trúc mô tả

df['ext price'].describe()
7 là một chức năng rời rạc dựa trên lượng tử. Điều này về cơ bản có nghĩa là
df['ext price'].describe()
7 cố gắng chia dữ liệu cơ bản thành các thùng có kích thước bằng nhau. Hàm xác định các thùng sử dụng phần trăm dựa trên phân phối dữ liệu, chứ không phải các cạnh số thực của các thùng & nbsp;

Nếu bạn đã sử dụng chức năng Pandas

count        20.000000
mean     101711.287500
std       27037.449673
min       55733.050000
25%       89137.707500
50%      100271.535000
75%      110132.552500
max      184793.700000
Name: ext price, dtype: float64
4, bạn đã thấy một ví dụ về các khái niệm cơ bản được biểu thị bằng
df['ext price'].describe()
7:

df['ext price'].describe()

count        20.000000
mean     101711.287500
std       27037.449673
min       55733.050000
25%       89137.707500
50%      100271.535000
75%      110132.552500
max      184793.700000
Name: ext price, dtype: float64

Hãy ghi nhớ các giá trị cho 25%, 50% và 75% phần trăm khi chúng ta xem xét trực tiếp bằng cách sử dụng

df['ext price'].describe()
7.

Việc sử dụng đơn giản nhất

df['ext price'].describe()
7 là xác định số lượng lượng tử và để gấu trúc tìm ra cách phân chia dữ liệu. Trong ví dụ dưới đây, chúng tôi bảo Pandas tạo ra 4 nhóm có kích thước bằng nhau của & NBSP; dữ liệu.

pd.qcut(df['ext price'], q=4)

0     (55733.049000000006, 89137.708]
1             (89137.708, 100271.535]
2     (55733.049000000006, 89137.708]
....
17             (110132.552, 184793.7]
18           (100271.535, 110132.552]
19           (100271.535, 110132.552]
Name: ext price, dtype: category
Categories (4, interval[float64]): [(55733.049000000006, 89137.708] < (89137.708, 100271.535] < (100271.535, 110132.552] < (110132.552, 184793.7]]

Kết quả là một chuỗi phân loại đại diện cho các thùng bán hàng. Bởi vì chúng tôi đã yêu cầu các lượng tử với

count        20.000000
mean     101711.287500
std       27037.449673
min       55733.050000
25%       89137.707500
50%      100271.535000
75%      110132.552500
max      184793.700000
Name: ext price, dtype: float64
8 các thùng phù hợp với phần trăm từ hàm
count        20.000000
mean     101711.287500
std       27037.449673
min       55733.050000
25%       89137.707500
50%      100271.535000
75%      110132.552500
max      184793.700000
Name: ext price, dtype: float64
4.

Một trường hợp sử dụng phổ biến là lưu trữ kết quả thùng trong DataFrame gốc để phân tích trong tương lai. Ví dụ này, chúng tôi sẽ tạo 4 thùng (hay còn gọi là tứ phân) và 10 thùng (còn gọi là deciles) và lưu trữ kết quả trong bản gốc & nbsp; dataFrame:

df['quantile_ex_1'] = pd.qcut(df['ext price'], q=4)
df['quantile_ex_2'] = pd.qcut(df['ext price'], q=10, precision=0)

df.head()

số tài khoảnTênGiá EXTquantile_ex_1quantile_ex_2
0 141962 Herman LLCLLC 63626.03 (55733.049000000006, 89137.708](55732.0, 76471.0]
1 146832 Kiehn-Spinka99608.77 (89137.708, 100271.535](95908.0, 100272.0]
2 163416 Purdy-Kunde77898.21 (55733.049000000006, 89137.708](55732.0, 76471.0]
3 218895 Kiehn-Spinka137351.96 (89137.708, 100271.535](95908.0, 100272.0]
4 239344 Purdy-KundeLLC 91535.92 (89137.708, 100271.535](95908.0, 100272.0]

Purdy-Kunde

(76471.0, 87168.0]

df['quantile_ex_1'].value_counts()

(110132.552, 184793.7]             5
(100271.535, 110132.552]           5
(89137.708, 100271.535]            5
(55733.049000000006, 89137.708]    5
Name: quantile_ex_1, dtype: int64

Kulas inc

In []:
qc.value_counts().sort_index()

Out[]:
(44.0, 63.0]    2
(63.0, 79.0]    2
(79.0, 89.0]    2
Name: data, dtype: int64
0

In []:
qc.value_counts().sort_index()

Out[]:
(44.0, 63.0]    2
(63.0, 79.0]    2
(79.0, 89.0]    2
Name: data, dtype: int64
1

(110132.552, 184793.7]

(124778.0, 184794.0]

In []:
qc.value_counts().sort_index()

Out[]:
(44.0, 63.0]    2
(63.0, 79.0]    2
(79.0, 89.0]    2
Name: data, dtype: int64
2

số tài khoảnTênGiá EXTquantile_ex_1quantile_ex_2quantile_ex_3
0 141962 Herman LLCLLC 63626.03 (55733.049000000006, 89137.708](55732.0, 76471.0]Kiehn-Spinka
1 146832 Kiehn-Spinka99608.77 (89137.708, 100271.535](95908.0, 100272.0]Purdy-Kunde
2 163416 Purdy-Kunde77898.21 (55733.049000000006, 89137.708](55732.0, 76471.0]Kiehn-Spinka
3 218895 Kiehn-Spinka137351.96 (89137.708, 100271.535](95908.0, 100272.0]Purdy-Kunde
4 239344 Purdy-KundeLLC 91535.92 (89137.708, 100271.535](95908.0, 100272.0]Purdy-Kunde

(76471.0, 87168.0]

Kulas inc

In []:
qc.value_counts().sort_index()

Out[]:
(44.0, 63.0]    2
(63.0, 79.0]    2
(79.0, 89.0]    2
Name: data, dtype: int64
3

In []:
qc.value_counts().sort_index()

Out[]:
(44.0, 63.0]    2
(63.0, 79.0]    2
(79.0, 89.0]    2
Name: data, dtype: int64
4

(110132.552, 184793.7]

(124778.0, 184794.0]

  • Stokes LLC
  • (90686.0, 95908.0]
  • Bạn có thể thấy các thùng rất khác nhau giữa
    pd.qcut(df['ext price'], q=4)
    
    0 và
    pd.qcut(df['ext price'], q=4)
    
    1. Tôi cũng đã giới thiệu việc sử dụng
    pd.qcut(df['ext price'], q=4)
    
    2 để xác định số lượng số thập phân để sử dụng để tính toán bin & nbsp; độ chính xác.

Chế độ xem thú vị khác là xem các giá trị được phân phối trên các thùng bằng cách sử dụng

pd.qcut(df['ext price'], q=4)
3:

In []:
qc.value_counts().sort_index()

Out[]:
(44.0, 63.0]    2
(63.0, 79.0]    2
(79.0, 89.0]    2
Name: data, dtype: int64
5

Bây giờ, cho cột thứ hai & nbsp; cột:Điều này minh họa một khái niệm quan trọng. Trong mỗi trường hợp, có một số lượng quan sát bằng nhau trong mỗi thùng. Pandas thực hiện toán học đằng sau hậu trường để tìm ra cách làm cho mỗi thùng. Ví dụ, trong
pd.qcut(df['ext price'], q=4)
0, phạm vi của thùng đầu tiên là 74.661,15 trong khi thùng thứ hai chỉ là 9,861,02 (110132 -& nbsp; 100271).
0 55733.050 Kiehn-Spinka
1 87167.958 Purdy-Kunde
2 95908.156 Purdy-Kunde
3 103606.970 (76471.0, 87168.0]
4 112290.054 Purdy-Kunde

(76471.0, 87168.0]

In []:
qc.value_counts().sort_index()

Out[]:
(44.0, 63.0]    2
(63.0, 79.0]    2
(79.0, 89.0]    2
Name: data, dtype: int64
6

quantile_ex_1quantile_ex_2quantile_ex_3
Kulas inc20 20 20
(110132.552, 184793.7]4 10 5
(124778.0, 184794.0](89137.708, 100271.535](95908.0, 100272.0]Purdy-Kunde
(76471.0, 87168.0]5 2 4

Kulas inc

(110132.552, 184793.7]

In []:
qc.value_counts().sort_index()

Out[]:
(44.0, 63.0]    2
(63.0, 79.0]    2
(79.0, 89.0]    2
Name: data, dtype: int64
7

số tài khoảnGiá EXT
Kulas inc20.000000 20.000000
(110132.552, 184793.7]476998.750000 101711.287500
(124778.0, 184794.0]231499.208970 27037.449673
Stokes LLC141962.000000 55733.050000
(90686.0, 95908.0]141962.000000 55733.050000
Bạn có thể thấy các thùng rất khác nhau giữa
pd.qcut(df['ext price'], q=4)
0 và
pd.qcut(df['ext price'], q=4)
1. Tôi cũng đã giới thiệu việc sử dụng
pd.qcut(df['ext price'], q=4)
2 để xác định số lượng số thập phân để sử dụng để tính toán bin & nbsp; độ chính xác.
332759.333333 91241.493333
Chế độ xem thú vị khác là xem các giá trị được phân phối trên các thùng bằng cách sử dụng
pd.qcut(df['ext price'], q=4)
3:
476006.500000 100271.535000
Bây giờ, cho cột thứ hai & nbsp; cột:662511.000000 104178.580000
100%786968.000000 184793.700000
Tối đa786968.000000 184793.700000

Có một lưu ý nhỏ về chức năng này. Vượt qua 0 hoặc 1, chỉ có nghĩa là 0% sẽ giống như tối thiểu và 100% sẽ giống như tối đa. Tôi cũng học được rằng phần trăm thứ 50 sẽ luôn được bao gồm, bất kể các giá trị & nbsp; được thông qua.

Trước khi chúng ta chuyển sang mô tả

df['ext price'].describe()
6, có thêm một cách tiềm năng nào mà chúng ta có thể dán nhãn thùng của mình. Thay vì các phạm vi bin hoặc nhãn tùy chỉnh, chúng ta có thể trả lại số nguyên bằng cách vượt qua
df['quantile_ex_1'] = pd.qcut(df['ext price'], q=4)
df['quantile_ex_2'] = pd.qcut(df['ext price'], q=10, precision=0)

df.head()
2

In []:
qc.value_counts().sort_index()

Out[]:
(44.0, 63.0]    2
(63.0, 79.0]    2
(79.0, 89.0]    2
Name: data, dtype: int64
8

số tài khoảnTênGiá EXTquantile_ex_1quantile_ex_2quantile_ex_3quantile_ex_4
0 141962 Herman LLCLLC 63626.03 (55733.049000000006, 89137.708](55732.0, 76471.0]Đồng0
1 146832 Kiehn-Spinka99608.77 (89137.708, 100271.535](95908.0, 100272.0]Vàng2
2 163416 Purdy-Kunde77898.21 (55733.049000000006, 89137.708](55732.0, 76471.0]Đồng0
3 218895 Kiehn-Spinka137351.96 (89137.708, 100271.535](95908.0, 100272.0]Vàng4
4 239344 Purdy-KundeLLC 91535.92 (89137.708, 100271.535](95908.0, 100272.0]Vàng1

Purdy-Kunde

(76471.0, 87168.0]

Kulas inc

(110132.552, 184793.7]

(124778.0, 184794.0]

Kim cương

Stokes LLC

(90686.0, 95908.0]

In []:
qc.value_counts().sort_index()

Out[]:
(44.0, 63.0]    2
(63.0, 79.0]    2
(79.0, 89.0]    2
Name: data, dtype: int64
9

Màu bạc

import pandas as pd
import numpy as np
import seaborn as sns

sns.set_style('whitegrid')

raw_df = pd.read_excel('2018_Sales_Total.xlsx')
df = raw_df.groupby(['account number', 'name'])['ext price'].sum().reset_index()

df['ext price'].plot(kind='hist')
0

import pandas as pd
import numpy as np
import seaborn as sns

sns.set_style('whitegrid')

raw_df = pd.read_excel('2018_Sales_Total.xlsx')
df = raw_df.groupby(['account number', 'name'])['ext price'].sum().reset_index()

df['ext price'].plot(kind='hist')
1

Cá nhân, tôi nghĩ rằng sử dụng

df['quantile_ex_1'] = pd.qcut(df['ext price'], q=4)
df['quantile_ex_2'] = pd.qcut(df['ext price'], q=10, precision=0)

df.head()
3 là kịch bản hữu ích nhất nhưng có thể có những trường hợp phản hồi số nguyên có thể hữu ích vì vậy tôi muốn chỉ ra rõ ràng nó & nbsp;

import pandas as pd
import numpy as np
import seaborn as sns

sns.set_style('whitegrid')

raw_df = pd.read_excel('2018_Sales_Total.xlsx')
df = raw_df.groupby(['account number', 'name'])['ext price'].sum().reset_index()

df['ext price'].plot(kind='hist')
2

import pandas as pd
import numpy as np
import seaborn as sns

sns.set_style('whitegrid')

raw_df = pd.read_excel('2018_Sales_Total.xlsx')
df = raw_df.groupby(['account number', 'name'])['ext price'].sum().reset_index()

df['ext price'].plot(kind='hist')
3

cắt

Bây giờ chúng ta đã thảo luận về cách sử dụng

df['ext price'].describe()
7, chúng ta có thể chỉ ra cách
df['ext price'].describe()
6 khác nhau. Nhiều khái niệm chúng tôi đã thảo luận ở trên áp dụng nhưng có một vài khác biệt với việc sử dụng
df['ext price'].describe()
6.

Sự khác biệt chính là

df['ext price'].describe()
7 sẽ tính toán kích thước của mỗi thùng để đảm bảo phân phối dữ liệu trong các thùng là bằng nhau. Nói cách khác, tất cả các thùng sẽ có (khoảng) cùng một số lượng quan sát nhưng phạm vi thùng sẽ & nbsp; khác nhau.

Mặt khác,

df['ext price'].describe()
6 được sử dụng để xác định cụ thể các cạnh bin. Không có gì đảm bảo về việc phân phối các mặt hàng trong mỗi thùng. Trên thực tế, bạn có thể định nghĩa các thùng theo cách không có vật phẩm nào được bao gồm trong thùng hoặc gần như tất cả các mặt hàng đều nằm trong một & nbsp; bin.

Trong các ví dụ trong thế giới thực, các thùng có thể được xác định bởi các quy tắc kinh doanh. Đối với một chương trình Flier thường xuyên, 25.000 dặm là mức bạc và điều đó không thay đổi dựa trên sự thay đổi của dữ liệu hàng năm. Nếu chúng tôi muốn xác định các cạnh bin (25.000 - 50.000, v.v.), chúng tôi sẽ sử dụng

df['ext price'].describe()
6. Chúng ta cũng có thể sử dụng
df['ext price'].describe()
6 để xác định các thùng có kích thước không đổi và để gấu trúc tìm ra cách xác định các cạnh bin & nbsp;

Hướng dẫn equal frequency binning python pandas - gấu trúc python binning tần số bằng nhau

Một số ví dụ nên làm cho sự khác biệt này & nbsp; rõ ràng.

Để đơn giản, tôi sẽ xóa các cột trước để giữ các ví dụ & nbsp; ngắn:

Đối với ví dụ đầu tiên, chúng ta có thể cắt dữ liệu thành 4 kích thước thùng bằng nhau. Pandas sẽ thực hiện toán học đằng sau hậu trường để xác định cách chia dữ liệu được đặt thành các nhóm 4 & nbsp này: các nhóm:

import pandas as pd
import numpy as np
import seaborn as sns

sns.set_style('whitegrid')

raw_df = pd.read_excel('2018_Sales_Total.xlsx')
df = raw_df.groupby(['account number', 'name'])['ext price'].sum().reset_index()

df['ext price'].plot(kind='hist')
4

số tài khoảnTênGiá EXTcut_ex1
0 141962 Herman LLCLLC 63626.03 (55733.049000000006, 89137.708]
1 146832 Kiehn-Spinka99608.77 (89137.708, 100271.535]
2 163416 Purdy-Kunde77898.21 (89137.708, 100271.535]
3 218895 Kiehn-Spinka137351.96 (89137.708, 100271.535]
4 239344 Purdy-KundeLLC 91535.92 (89137.708, 100271.535]

(95908.0, 100272.0]

Đầu tiên, chúng ta có thể sử dụng

df['quantile_ex_1'].value_counts()
6 để tạo khoảng cách đều nhau & nbsp; phạm vi: phạm vi:

import pandas as pd
import numpy as np
import seaborn as sns

sns.set_style('whitegrid')

raw_df = pd.read_excel('2018_Sales_Total.xlsx')
df = raw_df.groupby(['account number', 'name'])['ext price'].sum().reset_index()

df['ext price'].plot(kind='hist')
5

import pandas as pd
import numpy as np
import seaborn as sns

sns.set_style('whitegrid')

raw_df = pd.read_excel('2018_Sales_Total.xlsx')
df = raw_df.groupby(['account number', 'name'])['ext price'].sum().reset_index()

df['ext price'].plot(kind='hist')
6

Không gian Linspace Numpy là một hàm đơn giản cung cấp một mảng các số cách đều nhau trong phạm vi do người dùng xác định. Trong ví dụ này, chúng tôi muốn 9 điểm cắt đều cách đều nhau từ 0 đến 200.000. Độc giả Astute có thể nhận thấy rằng chúng tôi có 9 số nhưng chỉ có 8 loại. Nếu bạn vạch ra các danh mục thực tế, nó sẽ có ý nghĩa tại sao chúng tôi kết thúc với 8 loại từ 0 đến 200.000. Trong tất cả các trường hợp, có một loại ít hơn số lượng Cut & nbsp; điểm.

Tùy chọn khác là sử dụng

df['quantile_ex_1'].value_counts()
7 cung cấp chức năng tương tự. Tôi thấy bài viết này là một hướng dẫn hữu ích trong việc hiểu cả hai chức năng. Tôi khuyên bạn nên thử cả hai cách tiếp cận và xem cái nào hoạt động tốt nhất cho nhu cầu của bạn.

Có một tùy chọn bổ sung để xác định thùng của bạn và đó là sử dụng gấu trúc

df['quantile_ex_1'].value_counts()
8. Tôi đã phải xem tài liệu Pandas để tìm ra tài liệu này. Đó là một chút bí truyền nhưng tôi nghĩ rằng nó là tốt để bao gồm & nbsp; nó.

df['quantile_ex_1'].value_counts()
8 cung cấp rất nhiều sự linh hoạt. Ví dụ, nó có thể được sử dụng trên các phạm vi ngày cũng như các giá trị số. Đây là một số & nbsp; ví dụ:

import pandas as pd
import numpy as np
import seaborn as sns

sns.set_style('whitegrid')

raw_df = pd.read_excel('2018_Sales_Total.xlsx')
df = raw_df.groupby(['account number', 'name'])['ext price'].sum().reset_index()

df['ext price'].plot(kind='hist')
7

import pandas as pd
import numpy as np
import seaborn as sns

sns.set_style('whitegrid')

raw_df = pd.read_excel('2018_Sales_Total.xlsx')
df = raw_df.groupby(['account number', 'name'])['ext price'].sum().reset_index()

df['ext price'].plot(kind='hist')
8

Có một nhược điểm để sử dụng

df['quantile_ex_1'].value_counts()
8. Bạn không thể xác định nhãn Custom & nbsp;

import pandas as pd
import numpy as np
import seaborn as sns

sns.set_style('whitegrid')

raw_df = pd.read_excel('2018_Sales_Total.xlsx')
df = raw_df.groupby(['account number', 'name'])['ext price'].sum().reset_index()

df['ext price'].plot(kind='hist')
9

số tài khoảnTênGiá EXTcut_ex1cut_ex2
0 141962 Herman LLCLLC 63626.03 vàng(60000, 70000]
1 146832 Kiehn-Spinka99608.77 màu bạc(90000, 100000]
2 163416 Purdy-Kunde77898.21 màu bạc(90000, 100000]
3 218895 Purdy-Kunde137351.96 (70000, 80000]Kulas inc
4 239344 kim cươngLLC 91535.92 màu bạc(90000, 100000]

Purdy-Kunde

(70000, 80000]

Kulas inc

kim cương

(130000, 140000]

Stokes LLC

df['ext price'].describe()
0

df['ext price'].describe()
1

Như được hiển thị ở trên, tham số

(110132.552, 184793.7]             5
(100271.535, 110132.552]           5
(89137.708, 100271.535]            5
(55733.049000000006, 89137.708]    5
Name: quantile_ex_1, dtype: int64
1 bị bỏ qua khi sử dụng
df['quantile_ex_1'].value_counts()
8.

Theo kinh nghiệm của tôi, tôi sử dụng một danh sách tùy chỉnh các phạm vi bin hoặc (110132.552, 184793.7] 5 (100271.535, 110132.552] 5 (89137.708, 100271.535] 5 (55733.049000000006, 89137.708] 5 Name: quantile_ex_1, dtype: int64 3 nếu tôi có một số lượng lớn & nbsp;

Một trong những khác biệt giữa

df['ext price'].describe()
6 và
df['ext price'].describe()
7 là bạn cũng có thể sử dụng tham số
(110132.552, 184793.7]             5
(100271.535, 110132.552]           5
(89137.708, 100271.535]            5
(55733.049000000006, 89137.708]    5
Name: quantile_ex_1, dtype: int64
6 để xác định liệu thùng đầu tiên có nên bao gồm tất cả các giá trị thấp nhất hay không. Cuối cùng, việc vượt qua
(110132.552, 184793.7]             5
(100271.535, 110132.552]           5
(89137.708, 100271.535]            5
(55733.049000000006, 89137.708]    5
Name: quantile_ex_1, dtype: int64
7 sẽ thay đổi các thùng để loại trừ các mục phù hợp nhất. Bởi vì
df['ext price'].describe()
6 cho phép tính đặc hiệu hơn nhiều của các thùng, các tham số này có thể hữu ích để đảm bảo các khoảng được xác định theo cách bạn & NBSP;

Phần còn lại của chức năng df['ext price'].describe() 6 tương tự như df['ext price'].describe() 7. Chúng ta có thể trả về các thùng bằng cách sử dụng 0 (55733.049000000006, 89137.708] 1 (89137.708, 100271.535] 2 (55733.049000000006, 89137.708] .... 17 (110132.552, 184793.7] 18 (100271.535, 110132.552] 19 (100271.535, 110132.552] Name: ext price, dtype: category Categories (4, interval[float64]): [(55733.049000000006, 89137.708] < (89137.708, 100271.535] < (100271.535, 110132.552] < (110132.552, 184793.7]] 5 hoặc điều chỉnh độ chính xác bằng đối số pd.qcut(df['ext price'], q=4) 2.

  • Một thủ thuật cuối cùng tôi muốn trình bày là
    pd.qcut(df['ext price'], q=4)
    
    3 bao gồm một lối tắt để tạo ra và đếm dữ liệu. Nó có phần tương tự như cách
    count        20.000000
    mean     101711.287500
    std       27037.449673
    min       55733.050000
    25%       89137.707500
    50%      100271.535000
    75%      110132.552500
    max      184793.700000
    Name: ext price, dtype: float64
    
    4 có thể là một lối tắt cho
    df['ext price'].describe()
    
    7.
  • Nếu chúng ta muốn chia một giá trị thành 4 thùng và đếm số lượng & nbsp; xảy ra:

Bằng cách Defeault pd.qcut(df['ext price'], q=4) 3 sẽ sắp xếp với giá trị cao nhất trước tiên. Bằng cách vượt qua In []: qc.value_counts().sort_index() Out[]: (44.0, 63.0] 2 (63.0, 79.0] 2 (79.0, 89.0] 2 Name: data, dtype: int64 07, các thùng sẽ được sắp xếp theo thứ tự số có thể là hữu ích & nbsp; xem.

Bản tóm tắt

Làm thế nào để bạn tính toán Binning tần số bằng nhau?

Tần số bằng nhau: thùng có tần số bằng nhau. Binning có chiều rộng bằng nhau: Các thùng có chiều rộng bằng nhau với một phạm vi của mỗi thùng được xác định là [tối thiểu + W], [tối thiểu + 2W]. [tối thiểu + nw] trong đó w = (max - min) / (không có thùng).[min + nw] where w = (max – min) / (no of bins).

Làm thế nào để bạn đánh bại một gấu trúc trong Python?

Trong Python Pandas Binning theo khoảng cách đạt được bằng hàm cắt ().Chúng tôi nhóm các giá trị liên quan đến cupcake cột thành ba nhóm: nhỏ, trung bình và lớn.Để làm điều đó, chúng ta cần tính toán các khoảng trong mỗi nhóm rơi.by means of the cut() function. We group values related to the column Cupcake into three groups: small, medium and big. In order to do it, we need to calculate the intervals within each group falls.

Qcut trong gấu trúc là gì?

Chức năng rời rạc dựa trên lượng tử.Biến phân tách biến thành các thùng có kích thước bằng nhau dựa trên thứ hạng hoặc dựa trên các lượng tử mẫu.Ví dụ: 1000 giá trị cho 10 lượng tử sẽ tạo ra một đối tượng phân loại biểu thị tư cách thành viên lượng tử cho mỗi điểm dữ liệu.. Discretize variable into equal-sized buckets based on rank or based on sample quantiles. For example 1000 values for 10 quantiles would produce a Categorical object indicating quantile membership for each data point.

PD cắt là gì?

cut () phương thức cut () được gọi khi bạn cần phân đoạn và sắp xếp các giá trị dữ liệu thành các thùng.Nó được sử dụng để chuyển đổi một biến liên tục thành một biến phân loại.Nó cũng có thể tách biệt một mảng các phần tử thành các thùng riêng biệt.The cut() method is invoked when you need to segment and sort the data values into bins. It is used to convert a continuous variable to a categorical variable. It can also segregate an array of elements into separate bins.