Hướng dẫn how do you distribute data in python? - làm thế nào để bạn phân phối dữ liệu trong python?


Phân phối dữ liệu

Trước đó trong hướng dẫn này, chúng tôi đã làm việc với một lượng dữ liệu rất nhỏ trong các ví dụ của chúng tôi, chỉ để hiểu các khái niệm khác nhau.

Show

Trong thế giới thực, các bộ dữ liệu lớn hơn nhiều, nhưng có thể khó thu thập dữ liệu trong thế giới thực, ít nhất là ở giai đoạn đầu của một dự án.

Làm thế nào chúng ta có thể có được bộ dữ liệu lớn?

Để tạo các bộ dữ liệu lớn để thử nghiệm, chúng tôi sử dụng mô -đun Python Numpy, đi kèm với một số phương pháp để tạo các bộ dữ liệu ngẫu nhiên, ở mọi kích thước.

Thí dụ

Tạo một mảng chứa 250 phao ngẫu nhiên trong khoảng từ 0 đến 5:

Nhập khẩu Numpy

x = numpy.random.uniform (0,0, 5.0, 250)

in (x)

Hãy tự mình thử »


Biểu đồ

Để trực quan hóa tập dữ liệu, chúng ta có thể vẽ một biểu đồ với dữ liệu chúng ta đã thu thập được.

Chúng tôi sẽ sử dụng mô -đun Python matplotlib để vẽ biểu đồ.

Tìm hiểu về mô -đun matplotlib trong hướng dẫn matplotlib của chúng tôi.

Thí dụ

Tạo một mảng chứa 250 phao ngẫu nhiên trong khoảng từ 0 đến 5:

Nhập khẩu Numpy
import matplotlib.pyplot as plt

x = numpy.random.uniform (0,0, 5.0, 250)

in (x)
plt.show()

Result:

Hướng dẫn how do you distribute data in python? - làm thế nào để bạn phân phối dữ liệu trong python?

Hãy tự mình thử »

Biểu đồ

Để trực quan hóa tập dữ liệu, chúng ta có thể vẽ một biểu đồ với dữ liệu chúng ta đã thu thập được.

Chúng tôi sẽ sử dụng mô -đun Python matplotlib để vẽ biểu đồ.

Tìm hiểu về mô -đun matplotlib trong hướng dẫn matplotlib của chúng tôi.

Etc.

Vẽ biểu đồ:

  • Nhập Numpyimport matplotlib.pyplot như PLT
  • plt.hist (x, 5) plt.show ()
  • Chạy ví dụ »
  • Biểu đồ giải thích
  • Chúng tôi sử dụng mảng từ ví dụ trên để vẽ biểu đồ với 5 thanh.

Thanh đầu tiên biểu thị số lượng giá trị trong mảng nằm trong khoảng từ 0 đến 1. The array values are random numbers and will not show the exact same result on your computer.

Thanh thứ hai đại diện cho bao nhiêu giá trị từ 1 đến 2.

Mà mang lại cho chúng ta kết quả này:

Thí dụ

Tạo một mảng chứa 250 phao ngẫu nhiên trong khoảng từ 0 đến 5:

Nhập khẩu Numpy
import matplotlib.pyplot as plt

x = numpy.random.uniform (0,0, 5.0, 250)

in (x)
plt.show()

Hãy tự mình thử »



Bắt đầu từ đây? Bài học này là một phần của hướng dẫn đầy đủ trong việc sử dụng Python để phân tích dữ liệu. Kiểm tra sự khởi đầu.

Mục tiêu của bài học này

Trong bài học này, bạn sẽ học cách:

  • Phân phối phân phối bộ dữ liệu
  • Mô tả hình dạng của dữ liệu với số liệu thống kê cơ bản
  • Tạo biểu đồ
  • So sánh phân phối với biểu đồ
  • Làm ô hộp

Phân phối trong Python là gì?

Phân phối bình thường Python là một hàm phân phối các biến ngẫu nhiên trong một biểu đồ được định hình như một chuông đối xứng. Nó làm như vậy bằng cách sắp xếp phân phối xác suất cho mỗi giá trị.

Phân phối dữ liệu là gì? Throughout this tutorial, you can use Mode for free to practice writing and running Python code.

Phân phối dữ liệu là một hàm chỉ định tất cả các giá trị có thể có cho một biến và cũng định lượng tần số tương đối (xác suất chúng thường xảy ra). Phân phối được coi là bất kỳ dân số nào có sự phân tán dữ liệu.

  1. Phân phối trong khai thác dữ liệu là gì?
  2. Khai thác dữ liệu phân tán đề cập đến việc khai thác các bộ dữ liệu phân tán. Các bộ dữ liệu được lưu trữ trong cơ sở dữ liệu cục bộ, được lưu trữ bởi các máy tính địa phương, được kết nối thông qua công việc mạng máy tính.Clone. This will take you to the SQL Query Editor, with a query and results pre-populated.
  3. Sơ đồ phân phối là gì?Python Notebook under Notebook in the left navigation panel. This will open a new notebook, with the results of the query loaded in as a dataframe.
  4. Các sơ đồ phân phối đánh giá trực quan việc phân phối dữ liệu mẫu bằng cách so sánh phân phối thực nghiệm của dữ liệu với các giá trị lý thuyết dự kiến ​​từ một phân phối được chỉ định.

Bắt đầu từ đây? Bài học này là một phần của hướng dẫn đầy đủ trong việc sử dụng Python để phân tích dữ liệu. Kiểm tra sự khởi đầu.

Mục tiêu của bài học này

Trong bài học này, bạn sẽ học cách:

Sử dụng dữ liệu chuyến bay, bạn sẽ học cách so sánh tốt hơn các xu hướng giữa các hãng hàng không, điều chỉnh phân tích của bạn dựa trên số lượng chuyến bay của hãng hàng không bay. Cuối cùng, bạn sẽ biết những hãng hàng không và sân bay nào ít nhiều đáng tin cậy và thậm chí có thể đến Lễ Tạ ơn đúng giờ trong năm nay!

Sau khi làm theo các bước trên, hãy vào sổ ghi chép của bạn và nhập Numpy và Pandas, sau đó gán DataFrame của bạn cho biến


delayed_flights = data[data['delayed'] == True] #filter to only rows where delayer == True
delayed_flights['unique_carrier'].value_counts() #count the number of rows for each carrier
    
7 để dễ dàng theo dõi:

Đầu vào


import pandas as pd
import numpy as np
    

Đầu vào


data = datasets[0] # assign SQL query results to the data variable
data = data.fillna(np.nan)
    

Đầu vào


data.head() # our flight data, including delay minute counts by type, and total delay upon arrival
    

Đầu ra

flight_dateunique_carrierflight_numnguồn gốcDestarr_delaybị hủy bỏkhoảng cáchcarrier_delayweather_delaylate_aircraft_delaynas_delaysecurity_delayactual_elapsed_time
02015-01-02Aa1 JFKLỏng lẻo-19.0 0.0 2475.0 NanNanNanNanNan381.0
12015-01-03Aa1 JFKLỏng lẻo-39.0 0.0 2475.0 NanNanNanNanNan358.0
22015-01-03Aa1 JFKLỏng lẻo-12.0 0.0 2475.0 NanNanNanNanNan385.0
32015-01-03Aa1 JFKLỏng lẻo-8.0 0.0 2475.0 NanNanNanNanNan389.0
42015-01-03Aa1 JFKLỏng lẻo25.0 0.0 2475.0 0.0 0.0 0.0 25.0 0.0 424.0

Nan

2015-01-03

2015-01-04

2015-01-05

2015-01-06

Đầu vào

Phân phối

Bay có thể là một nỗ lực lâu dài và bực bội ở Hoa Kỳ, đặc biệt là vào các ngày lễ và mùa bão khi các chuyến bay bị trì hoãn hàng giờ, đôi khi nhiều ngày. Là người tiêu dùng, chúng ta thường nhận thức được những xu hướng đó, nhưng những xu hướng chậm trễ hàng ngày? Những hãng hàng không nào đang làm tốt hơn trong việc đưa bạn đến đó đúng giờ và sân bay nào là tồi tệ nhất để bay ra?

Đầu vào


delayed_flights = data[data['delayed'] == True] #filter to only rows where delayer == True
delayed_flights['unique_carrier'].value_counts() #count the number of rows for each carrier
    

Đầu ra


WN    21150
EV    11371
OO    10804
AA     9841
DL     9803
UA     8624
MQ     8060
US     6353
B6     4401
NK     2133
AS     2104
F9     1848
HA     1354
VX      781
Name: unique_carrier, dtype: int64
    

Một trong những cách tốt nhất để trả lời các câu hỏi như thế này là xem xét các phân phối của các biến có liên quan. Bạn có thể nghĩ về việc phân phối bộ dữ liệu hoặc biến dưới dạng danh sách các giá trị có thể và một số chỉ định về tần suất mỗi giá trị xảy ra. Để được bồi dưỡng nhanh về phân phối, hãy xem bài học này.

Trước khi bạn nhìn vào các phân phối sự chậm trễ trên các hãng hàng không, hãy bắt đầu bằng cách khám phá những hãng hàng không nào có sự chậm trễ nhất.: A great analyst will always be skeptical and curious. When you reach a point in your analysis where you might have an answer, go a little further. Consider what might be affecting your results and what might support a counterargument. The best analysis will be presented as a very refined version of the broader investigation. Always be curious!

Đầu tiên, xây dựng chuỗi cho biết liệu các chuyến bay có bị trì hoãn hay không, giống như bạn đã làm trong bài học trước:


data['delayed'] = data['arr_delay'].apply(lambda x: x > 0) #from previous lesson
    

Bây giờ đếm số lượng chuyến bay bị trì hoãn cho mỗi hãng hàng không. Vì bạn chỉ sau một giá trị cho mỗi hãng hàng không, bạn không phải sử dụng

delayed_flights = data[data['delayed'] == True] #filter to only rows where delayer == True
delayed_flights['unique_carrier'].value_counts() #count the number of rows for each carrier
    
8,

delayed_flights = data[data['delayed'] == True] #filter to only rows where delayer == True
delayed_flights['unique_carrier'].value_counts() #count the number of rows for each carrier
    
9 và

WN    21150
EV    11371
OO    10804
AA     9841
DL     9803
UA     8624
MQ     8060
US     6353
B6     4401
NK     2133
AS     2104
F9     1848
HA     1354
VX      781
Name: unique_carrier, dtype: int64
    
0 như trong bài học trước. Thay vào đó, chỉ cần lọc bộ dữ liệu, việc đếm các hàng cho mỗi hàng mang bằng

WN    21150
EV    11371
OO    10804
AA     9841
DL     9803
UA     8624
MQ     8060
US     6353
B6     4401
NK     2133
AS     2104
F9     1848
HA     1354
VX      781
Name: unique_carrier, dtype: int64
    
1:

Có thể là một ý tưởng tốt để xem xét tỷ lệ các chuyến bay của mỗi hãng hàng không bị trì hoãn, thay vì chỉ tổng số của mỗi hãng hàng không bị trì hoãn.

Đầu vào


data.groupby(['unique_carrier','delayed']).size().unstack()
    

Đầu ra

ABC phân tích: Luôn tò mò: Một nhà phân tích tuyệt vời sẽ luôn hoài nghi và tò mò. Khi bạn đạt đến một điểm trong phân tích của bạn, nơi bạn có thể có câu trả lời, hãy đi xa hơn một chút. Hãy xem xét những gì có thể ảnh hưởng đến kết quả của bạn và những gì có thể hỗ trợ một phản biện. Phân tích tốt nhất sẽ được trình bày dưới dạng phiên bản rất tinh tế của cuộc điều tra rộng hơn. Luôn luôn tò mò!Tỷ lệ các chuyến bay bị trì hoãnĐể tính tỷ lệ các chuyến bay bị trì hoãn, hãy hoàn thành 4 bước sau:
unique_carrier
1. Nhóm theo nhà cung cấp và bị trì hoãn8912 9841
Các chuyến bay nhóm bởi

WN    21150
EV    11371
OO    10804
AA     9841
DL     9803
UA     8624
MQ     8060
US     6353
B6     4401
NK     2133
AS     2104
F9     1848
HA     1354
VX      781
Name: unique_carrier, dtype: int64
    
2 và

WN    21150
EV    11371
OO    10804
AA     9841
DL     9803
UA     8624
MQ     8060
US     6353
B6     4401
NK     2133
AS     2104
F9     1848
HA     1354
VX      781
Name: unique_carrier, dtype: int64
    
3, nhận số lượng với

delayed_flights = data[data['delayed'] == True] #filter to only rows where delayer == True
delayed_flights['unique_carrier'].value_counts() #count the number of rows for each carrier
    
9 (như bạn đã làm trong bài học trước, sử dụng

WN    21150
EV    11371
OO    10804
AA     9841
DL     9803
UA     8624
MQ     8060
US     6353
B6     4401
NK     2133
AS     2104
F9     1848
HA     1354
VX      781
Name: unique_carrier, dtype: int64
    
0 để trả về DataFrame:
3527 2104
B64832 4401
chậm trễ17719 9803
Sai10596 11371
F91103 1848
ĐÚNG VẬY1351 1354
Aa4692 8060
BẰNG 1550 2133
DL9977 10804
Ev7885 8624
Ha7850 6353
MQ1254 781
NK21789 21150

Oo

Đầu vào


delayed_by_carrier = data.groupby(['unique_carrier','delayed']).size().unstack().reset_index()
delayed_by_carrier[:5]
    

Đầu ra

ABC phân tích: Luôn tò mò: Một nhà phân tích tuyệt vời sẽ luôn hoài nghi và tò mò. Khi bạn đạt đến một điểm trong phân tích của bạn, nơi bạn có thể có câu trả lời, hãy đi xa hơn một chút. Hãy xem xét những gì có thể ảnh hưởng đến kết quả của bạn và những gì có thể hỗ trợ một phản biện. Phân tích tốt nhất sẽ được trình bày dưới dạng phiên bản rất tinh tế của cuộc điều tra rộng hơn. Luôn luôn tò mò!unique_carrierTỷ lệ các chuyến bay bị trì hoãnĐể tính tỷ lệ các chuyến bay bị trì hoãn, hãy hoàn thành 4 bước sau:
0Aa8912 9841
1JFK3527 2104
2Lỏng lẻo4832 4401
3Nan17719 9803
42015-01-0310596 11371

2015-01-04

2015-01-05

Đầu vào


delayed_by_carrier['flights_count'] = (delayed_by_carrier[False] + delayed_by_carrier[True])
delayed_by_carrier[:5]
    

Đầu ra

ABC phân tích: Luôn tò mò: Một nhà phân tích tuyệt vời sẽ luôn hoài nghi và tò mò. Khi bạn đạt đến một điểm trong phân tích của bạn, nơi bạn có thể có câu trả lời, hãy đi xa hơn một chút. Hãy xem xét những gì có thể ảnh hưởng đến kết quả của bạn và những gì có thể hỗ trợ một phản biện. Phân tích tốt nhất sẽ được trình bày dưới dạng phiên bản rất tinh tế của cuộc điều tra rộng hơn. Luôn luôn tò mò!unique_carrierTỷ lệ các chuyến bay bị trì hoãnĐể tính tỷ lệ các chuyến bay bị trì hoãn, hãy hoàn thành 4 bước sau:flights_count
0Aa8912 9841 18753
1JFK3527 2104 5631
2Lỏng lẻo4832 4401 9233
3Nan17719 9803 27522
42015-01-0310596 11371 21967

2015-01-04

2015-01-05

Đầu vào


delayed_by_carrier['proportion_delayed'] = delayed_by_carrier[True] / delayed_by_carrier['flights_count']
delayed_by_carrier[:4]
    

Đầu ra

ABC phân tích: Luôn tò mò: Một nhà phân tích tuyệt vời sẽ luôn hoài nghi và tò mò. Khi bạn đạt đến một điểm trong phân tích của bạn, nơi bạn có thể có câu trả lời, hãy đi xa hơn một chút. Hãy xem xét những gì có thể ảnh hưởng đến kết quả của bạn và những gì có thể hỗ trợ một phản biện. Phân tích tốt nhất sẽ được trình bày dưới dạng phiên bản rất tinh tế của cuộc điều tra rộng hơn. Luôn luôn tò mò!unique_carrierTỷ lệ các chuyến bay bị trì hoãnĐể tính tỷ lệ các chuyến bay bị trì hoãn, hãy hoàn thành 4 bước sau:flights_countproportion_delayed
0Aa8912 9841 18753 0.524769
1JFK3527 2104 5631 0.373646
2Lỏng lẻo4832 4401 9233 0.476660
3Nan17719 9803 27522 0.356188

2015-01-03

2015-01-04

Đầu vào


data = datasets[0] # assign SQL query results to the data variable
data = data.fillna(np.nan)
    
0

2015-01-05

ABC phân tích: Luôn tò mò: Một nhà phân tích tuyệt vời sẽ luôn hoài nghi và tò mò. Khi bạn đạt đến một điểm trong phân tích của bạn, nơi bạn có thể có câu trả lời, hãy đi xa hơn một chút. Hãy xem xét những gì có thể ảnh hưởng đến kết quả của bạn và những gì có thể hỗ trợ một phản biện. Phân tích tốt nhất sẽ được trình bày dưới dạng phiên bản rất tinh tế của cuộc điều tra rộng hơn. Luôn luôn tò mò!unique_carrierTỷ lệ các chuyến bay bị trì hoãnĐể tính tỷ lệ các chuyến bay bị trì hoãn, hãy hoàn thành 4 bước sau:flights_countproportion_delayed
71. Nhóm theo nhà cung cấp và bị trì hoãn4692 8060 12752 0.632058
5Các chuyến bay nhóm bởi

WN    21150
EV    11371
OO    10804
AA     9841
DL     9803
UA     8624
MQ     8060
US     6353
B6     4401
NK     2133
AS     2104
F9     1848
HA     1354
VX      781
Name: unique_carrier, dtype: int64
    
2 và

WN    21150
EV    11371
OO    10804
AA     9841
DL     9803
UA     8624
MQ     8060
US     6353
B6     4401
NK     2133
AS     2104
F9     1848
HA     1354
VX      781
Name: unique_carrier, dtype: int64
    
3, nhận số lượng với

delayed_flights = data[data['delayed'] == True] #filter to only rows where delayer == True
delayed_flights['unique_carrier'].value_counts() #count the number of rows for each carrier
    
9 (như bạn đã làm trong bài học trước, sử dụng

WN    21150
EV    11371
OO    10804
AA     9841
DL     9803
UA     8624
MQ     8060
US     6353
B6     4401
NK     2133
AS     2104
F9     1848
HA     1354
VX      781
Name: unique_carrier, dtype: int64
    
0 để trả về DataFrame:
1103 1848 2951 0.626228
8chậm trễ1550 2133 3683 0.579147
0Aa8912 9841 18753 0.524769
10Sai7885 8624 16509 0.522382
9ĐÚNG VẬY9977 10804 20781 0.519898
42015-01-0310596 11371 21967 0.517640
62015-01-041351 1354 2705 0.500555
13Wn21789 21150 42939 0.492559
2B64832 4401 9233 0.476660
11CHÚNG TA7850 6353 14203 0.447300
12VX1254 781 2035 0.383784
1BẰNG 3527 2104 5631 0.373646
3DL17719 9803 27522 0.356188

Điều này vẽ ra một bức tranh rất khác - Tây Nam nằm giữa gói khi nói đến tỷ lệ phần trăm của các chuyến bay bị trì hoãn.

Nhưng những gì về thời gian hành khách bị trì hoãn trên mỗi hãng hàng không? Điều hợp lý là tỷ lệ chậm trễ chuyến bay có thể thấp hơn đối với một số hãng hàng không, nhưng chiều dài của sự chậm trễ đó có thể dài hơn nhiều. Hành khách quan tâm nhiều hơn về độ trễ chuyến bay dài hơn so với những người ngắn hơn và họ có thể chọn một hãng hàng không khác với một kỷ lục về độ trễ dài. Đối với hành khách, những hãng hàng không có vẻ đáng tin cậy hơn? Hoặc trong các thuật ngữ đo lường hơn, trung bình có bao nhiêu phút các chuyến bay, đối với mỗi hãng hàng không?How many minutes are flights delayed on average, for each airline?

Bần tiện

Giá trị trung bình, hoặc trung bình, cho bạn một ý tưởng chung về việc các chuyến bay bị trì hoãn bao nhiêu phút cho mỗi hãng hàng không. .Pivot_Table () tính toán giá trị trung bình của các giá trị tổng hợp theo mặc định. Bạn có thể xoay trên cột


WN    21150
EV    11371
OO    10804
AA     9841
DL     9803
UA     8624
MQ     8060
US     6353
B6     4401
NK     2133
AS     2104
F9     1848
HA     1354
VX      781
Name: unique_carrier, dtype: int64
    
2 để xem thời gian trễ trung bình được tổng hợp bởi hãng hàng không:mean, or the average, gives you a general idea of how many minutes flights were delayed for each airline. .pivot_table() calculates the mean of the aggregated values by default. You can pivot on the column

WN    21150
EV    11371
OO    10804
AA     9841
DL     9803
UA     8624
MQ     8060
US     6353
B6     4401
NK     2133
AS     2104
F9     1848
HA     1354
VX      781
Name: unique_carrier, dtype: int64
    
2 to see the mean delay time aggregated by airline:

Đầu vào


data = datasets[0] # assign SQL query results to the data variable
data = data.fillna(np.nan)
    
1

Đầu ra


data = datasets[0] # assign SQL query results to the data variable
data = data.fillna(np.nan)
    
2

Lưu ý rằng vì


WN    21150
EV    11371
OO    10804
AA     9841
DL     9803
UA     8624
MQ     8060
US     6353
B6     4401
NK     2133
AS     2104
F9     1848
HA     1354
VX      781
Name: unique_carrier, dtype: int64
    
8 đã tính

WN    21150
EV    11371
OO    10804
AA     9841
DL     9803
UA     8624
MQ     8060
US     6353
B6     4401
NK     2133
AS     2104
F9     1848
HA     1354
VX      781
Name: unique_carrier, dtype: int64
    
9 theo mặc định, nên những điều trên có hiệu quả giống như khi bạn vượt qua rõ ràng đối số như thế này (và nó tạo ra kết quả chính xác tương tự):

Đầu vào

Đầu ra

Đầu ra


data = datasets[0] # assign SQL query results to the data variable
data = data.fillna(np.nan)
    
2

Lưu ý rằng vì WN 21150 EV 11371 OO 10804 AA 9841 DL 9803 UA 8624 MQ 8060 US 6353 B6 4401 NK 2133 AS 2104 F9 1848 HA 1354 VX 781 Name: unique_carrier, dtype: int64 8 đã tính WN 21150 EV 11371 OO 10804 AA 9841 DL 9803 UA 8624 MQ 8060 US 6353 B6 4401 NK 2133 AS 2104 F9 1848 HA 1354 VX 781 Name: unique_carrier, dtype: int64 9 theo mặc định, nên những điều trên có hiệu quả giống như khi bạn vượt qua rõ ràng đối số như thế này (và nó tạo ra kết quả chính xác tương tự):


data = datasets[0] # assign SQL query results to the data variable
data = data.fillna(np.nan)
    
3

Thống kê cơ bản với


data.groupby(['unique_carrier','delayed']).size().unstack()
    
0

Đầu vào


data = datasets[0] # assign SQL query results to the data variable
data = data.fillna(np.nan)
    
5

Đầu ra


data = datasets[0] # assign SQL query results to the data variable
data = data.fillna(np.nan)
    
6

Lưu ý rằng vì


WN    21150
EV    11371
OO    10804
AA     9841
DL     9803
UA     8624
MQ     8060
US     6353
B6     4401
NK     2133
AS     2104
F9     1848
HA     1354
VX      781
Name: unique_carrier, dtype: int64
    
8 đã tính

WN    21150
EV    11371
OO    10804
AA     9841
DL     9803
UA     8624
MQ     8060
US     6353
B6     4401
NK     2133
AS     2104
F9     1848
HA     1354
VX      781
Name: unique_carrier, dtype: int64
    
9 theo mặc định, nên những điều trên có hiệu quả giống như khi bạn vượt qua rõ ràng đối số như thế này (và nó tạo ra kết quả chính xác tương tự):

  1. 
    data = datasets[0] # assign SQL query results to the data variable
    data = data.fillna(np.nan)
        
    3
  2. Thống kê cơ bản với
    
    data.groupby(['unique_carrier','delayed']).size().unstack()
        
    0
  3. 
    data.groupby(['unique_carrier','delayed']).size().unstack()
        
    0 là một chức năng tiện dụng khi bạn làm việc với các cột số. Bạn có thể sử dụng
    
    data.groupby(['unique_carrier','delayed']).size().unstack()
        
    0 để xem một số số liệu thống kê cơ bản về cột, chẳng hạn như giá trị trung bình, tối thiểu, tối đa và độ lệch chuẩn. Điều này có thể cung cấp cho bạn một cái nhìn tổng quan nhanh chóng về hình dạng của dữ liệu.

Trước khi sử dụng


data.groupby(['unique_carrier','delayed']).size().unstack()
    
3, chọn sê -ri

data.groupby(['unique_carrier','delayed']).size().unstack()
    
4 cho tất cả các chuyến bay Tây Nam:

Đầu ra


data = datasets[0] # assign SQL query results to the data variable
data = data.fillna(np.nan)
    
7

Lưu ý rằng vì


WN    21150
EV    11371
OO    10804
AA     9841
DL     9803
UA     8624
MQ     8060
US     6353
B6     4401
NK     2133
AS     2104
F9     1848
HA     1354
VX      781
Name: unique_carrier, dtype: int64
    
8 đã tính

WN    21150
EV    11371
OO    10804
AA     9841
DL     9803
UA     8624
MQ     8060
US     6353
B6     4401
NK     2133
AS     2104
F9     1848
HA     1354
VX      781
Name: unique_carrier, dtype: int64
    
9 theo mặc định, nên những điều trên có hiệu quả giống như khi bạn vượt qua rõ ràng đối số như thế này (và nó tạo ra kết quả chính xác tương tự):


data = datasets[0] # assign SQL query results to the data variable
data = data.fillna(np.nan)
    
3

  • Thống kê cơ bản với
    
    data.groupby(['unique_carrier','delayed']).size().unstack()
        
    0
  • 
    data.groupby(['unique_carrier','delayed']).size().unstack()
        
    0 là một chức năng tiện dụng khi bạn làm việc với các cột số. Bạn có thể sử dụng
    
    data.groupby(['unique_carrier','delayed']).size().unstack()
        
    0 để xem một số số liệu thống kê cơ bản về cột, chẳng hạn như giá trị trung bình, tối thiểu, tối đa và độ lệch chuẩn. Điều này có thể cung cấp cho bạn một cái nhìn tổng quan nhanh chóng về hình dạng của dữ liệu.
  • Trước khi sử dụng
    
    data.groupby(['unique_carrier','delayed']).size().unstack()
        
    3, chọn sê -ri
    
    data.groupby(['unique_carrier','delayed']).size().unstack()
        
    4 cho tất cả các chuyến bay Tây Nam:
  • Trong trường hợp khó hiểu, đây là những gì vừa xảy ra, đã đánh giá từ trong ra ngoài, sau đó từ trái sang phải:
  • 
    data.groupby(['unique_carrier','delayed']).size().unstack()
        
    5 tạo ra một chỉ số boolean trả về
    
    data.groupby(['unique_carrier','delayed']).size().unstack()
        
    6 cho các hàng đại diện cho các chuyến bay Tây Nam
  • Gói đó trong
    
    data.groupby(['unique_carrier','delayed']).size().unstack()
        
    7 áp dụng chỉ số Boolean cho DataFrame
    
    delayed_flights = data[data['delayed'] == True] #filter to only rows where delayer == True
    delayed_flights['unique_carrier'].value_counts() #count the number of rows for each carrier
        
    7.
  • 
    data.groupby(['unique_carrier','delayed']).size().unstack()
        
    9 giảm các cột thành cột ['ARR_DELAY'] (và chỉ mục).
  • Bây giờ bạn có thể chạy
    
    data.groupby(['unique_carrier','delayed']).size().unstack()
        
    0 trên đối tượng mới này mà bạn đã tạo để có được số liệu thống kê cơ bản:

Đây là một tính năng thực sự khiến Python khác biệt với SQL hoặc Excel. Sẽ mất rất nhiều công việc để có được thông tin này trong một trong những công cụ đó, nhưng ở đây cũng dễ dàng như thêm phương thức data.groupby(['unique_carrier','delayed']).size().unstack() 0.

Dưới đây là sự cố nhanh chóng của những điều trên vì nó liên quan đến bộ dữ liệu cụ thể này:


delayed_by_carrier = data.groupby(['unique_carrier','delayed']).size().unstack().reset_index()
delayed_by_carrier[:5]
    
2: Có 42.020 hàng trong bộ dữ liệu, được lọc chỉ hiển thị Tây Nam (WN).

WN 21150 EV 11371 OO 10804 AA 9841 DL 9803 UA 8624 MQ 8060 US 6353 B6 4401 NK 2133 AS 2104 F9 1848 HA 1354 VX 781 Name: unique_carrier, dtype: int64 9: Độ trễ trung bình.


delayed_by_carrier = data.groupby(['unique_carrier','delayed']).size().unstack().reset_index()
delayed_by_carrier[:5]
    
4: Độ lệch chuẩn. Thêm về điều này dưới đây.


delayed_by_carrier = data.groupby(['unique_carrier','delayed']).size().unstack().reset_index()
delayed_by_carrier[:5]
    
5: Độ trễ ngắn nhất trong tập dữ liệu. Trong trường hợp này, chuyến bay rất sớm.histogram. Histograms allow you to bucket the values into bins, or fixed value ranges, and count how many values fall in that bin.


delayed_by_carrier = data.groupby(['unique_carrier','delayed']).size().unstack().reset_index()
delayed_by_carrier[:5]
    
6: Phần trăm thứ 25. 25% độ trễ thấp hơn

delayed_by_carrier = data.groupby(['unique_carrier','delayed']).size().unstack().reset_index()
delayed_by_carrier[:5]
    
7.


data = datasets[0] # assign SQL query results to the data variable
data = data.fillna(np.nan)
    
8


delayed_by_carrier = data.groupby(['unique_carrier','delayed']).size().unstack().reset_index()
delayed_by_carrier[:5]
    
8: Tỷ lệ phần trăm thứ 50 hoặc

delayed_by_carrier = data.groupby(['unique_carrier','delayed']).size().unstack().reset_index()
delayed_by_carrier[:5]
    
9. 50% độ trễ thấp hơn

delayed_by_carrier['flights_count'] = (delayed_by_carrier[False] + delayed_by_carrier[True])
delayed_by_carrier[:5]
    
0.


delayed_by_carrier['flights_count'] = (delayed_by_carrier[False] + delayed_by_carrier[True])
delayed_by_carrier[:5]
    
1: Tỷ lệ phần trăm thứ 75. 75% độ trễ thấp hơn

delayed_by_carrier['flights_count'] = (delayed_by_carrier[False] + delayed_by_carrier[True])
delayed_by_carrier[:5]
    
2.


data = datasets[0] # assign SQL query results to the data variable
data = data.fillna(np.nan)
    
9


delayed_by_carrier['flights_count'] = (delayed_by_carrier[False] + delayed_by_carrier[True])
delayed_by_carrier[:5]
    
3: Độ trễ lâu nhất trong bộ dữ liệu:

delayed_by_carrier['flights_count'] = (delayed_by_carrier[False] + delayed_by_carrier[True])
delayed_by_carrier[:5]
    
4.


data.head() # our flight data, including delay minute counts by type, and total delay upon arrival
    
0

Thực hành vấn đề

Đầu vào


data.head() # our flight data, including delay minute counts by type, and total delay upon arrival
    
1

Đầu ra


data.head() # our flight data, including delay minute counts by type, and total delay upon arrival
    
2

Lưu ý rằng vì


WN    21150
EV    11371
OO    10804
AA     9841
DL     9803
UA     8624
MQ     8060
US     6353
B6     4401
NK     2133
AS     2104
F9     1848
HA     1354
VX      781
Name: unique_carrier, dtype: int64
    
8 đã tính

WN    21150
EV    11371
OO    10804
AA     9841
DL     9803
UA     8624
MQ     8060
US     6353
B6     4401
NK     2133
AS     2104
F9     1848
HA     1354
VX      781
Name: unique_carrier, dtype: int64
    
9 theo mặc định, nên những điều trên có hiệu quả giống như khi bạn vượt qua rõ ràng đối số như thế này (và nó tạo ra kết quả chính xác tương tự):histograms are not bar charts. In a bar chart, the height of the bar represents a numerical value (such as number of delayed flights), but each bar itself represents a category—something that cannot be counted, averaged, or summed (like airline).


data = datasets[0] # assign SQL query results to the data variable
data = data.fillna(np.nan)
    
3

Một cách để nhanh chóng cho biết sự khác biệt là biểu đồ không có khoảng trống giữa các thanh. Bởi vì chúng đại diện cho các giá trị trên một phổ liên tục, một khoảng trống giữa các thanh sẽ có một ý nghĩa cụ thể: nó sẽ chỉ ra một thùng trống. Biểu đồ thanh có thể có khoảng trống giữa các thanh. Bởi vì chúng hiển thị các danh mục, thứ tự và khoảng cách không quan trọng.

Kiểm tra bài đăng trên blog này bằng cách chảy dữ liệu để biết giải thích tuyệt vời về biểu đồ.

Numpy delayed_by_carrier['flights_count'] = (delayed_by_carrier[False] + delayed_by_carrier[True]) delayed_by_carrier[:5] 6

Giả sử bạn quan tâm đến việc phân tích độ dài độ trễ và bạn muốn đặt những độ dài này vào các thùng đại diện cho mỗi khoảng thời gian 10 phút. Bạn có thể sử dụng phương thức Numpy


delayed_by_carrier['flights_count'] = (delayed_by_carrier[False] + delayed_by_carrier[True])
delayed_by_carrier[:5]
    
6 để tạo danh sách các số xác định các thùng đó. Các thùng của khoảng thời gian mười phút sẽ từ sớm từ 50 phút (-50) đến 200 phút (200). Thùng đầu tiên sẽ tổ chức số lượng các chuyến bay đến sớm từ 50 đến 40 phút, sau đó 40 đến 30 phút, v.v.

Đầu vào


data.head() # our flight data, including delay minute counts by type, and total delay upon arrival
    
3

Đầu ra


data.head() # our flight data, including delay minute counts by type, and total delay upon arrival
    
4

Hãy vẽ sơ đồ phân phối độ trễ chuyến bay Tây Nam dưới dạng biểu đồ bằng cách sử dụng biến bin_values ​​được tạo ở trên:

Đầu vào


data.head() # our flight data, including delay minute counts by type, and total delay upon arrival
    
5

Đầu ra


data.head() # our flight data, including delay minute counts by type, and total delay upon arrival
    
6

Hãy vẽ sơ đồ phân phối độ trễ chuyến bay Tây Nam dưới dạng biểu đồ bằng cách sử dụng biến bin_values ​​được tạo ở trên:

Tuyệt quá! Bạn có thể thấy rằng phần lớn các chuyến bay Tây Nam không trễ quá 30 phút. Mặc dù hãng hàng không có nhiều chuyến bay, nhưng phần lớn trong số họ không đủ muộn để khiến bạn hối hận khi đi nghỉ.

Thực hành vấn đề

Lô đất của Virgin America trì hoãn trong khoảng thời gian dài năm phút từ -50 phút đến 200 phút.

Tuyệt quá! Bạn có thể thấy rằng phần lớn các chuyến bay Tây Nam không trễ quá 30 phút. Mặc dù hãng hàng không có nhiều chuyến bay, nhưng phần lớn trong số họ không đủ muộn để khiến bạn hối hận khi đi nghỉ.

Thực hành vấn đềWhich flights were delayed between 20-25 minutes? Was there a given reason? What hypotheses might you make about why there are more flights in that bin as opposed to the 15-20 minute bucket? Select the flights using boolean indexing, then count the origin airports for those flights.

Lô đất của Virgin America trì hoãn trong khoảng thời gian dài năm phút từ -50 phút đến 200 phút.

Xem giải pháp

Hãy đào sâu vào các chuyến bay Virgin America bị trì hoãn bất ngờ. Những chuyến bay nào bị trì hoãn trong khoảng 20-25 phút? Có một lý do nhất định? Bạn có thể đưa ra những giả thuyết nào về lý do tại sao có nhiều chuyến bay trong thùng đó trái ngược với xô 15-20 phút? Chọn các chuyến bay bằng cách sử dụng lập chỉ mục Boolean, sau đó đếm các sân bay gốc cho các chuyến bay đó.

So sánh phân phối với biểu đồ

Đầu vào


data.head() # our flight data, including delay minute counts by type, and total delay upon arrival
    
7

Đầu ra


data.head() # our flight data, including delay minute counts by type, and total delay upon arrival
    
8

Hãy vẽ sơ đồ phân phối độ trễ chuyến bay Tây Nam dưới dạng biểu đồ bằng cách sử dụng biến bin_values ​​được tạo ở trên:

Đầu vào


data.head() # our flight data, including delay minute counts by type, and total delay upon arrival
    
9

Đầu ra


data['delayed'] = data['arr_delay'].apply(lambda x: x > 0) #from previous lesson
    
0

Hãy vẽ sơ đồ phân phối độ trễ chuyến bay Tây Nam dưới dạng biểu đồ bằng cách sử dụng biến bin_values ​​được tạo ở trên:

Tuyệt quá! Bạn có thể thấy rằng phần lớn các chuyến bay Tây Nam không trễ quá 30 phút. Mặc dù hãng hàng không có nhiều chuyến bay, nhưng phần lớn trong số họ không đủ muộn để khiến bạn hối hận khi đi nghỉ.

Thực hành vấn đềstandard deviation, which describes how flight delays are dispersed. In comparing the histograms, you can see that US Airways' delays are most concentrated between -20 to 20 minutes, while Envoy Air's flight delays are more distributed from 0 to 200 minutes. You can say that Envoy Air's delays are more dispersed than US Airways' delays, meaning that for a given flight on either airline, you would be less certain about the length of the delay for the Envoy flight.

Lô đất của Virgin America trì hoãn trong khoảng thời gian dài năm phút từ -50 phút đến 200 phút.normal distribution, or a common expected shape of distribution among various types of data. The value for standard deviation defines a range above and below the mean for which a certain percentage of the data lie. You can see in this visualization that, for a normal distribution:

  • Xem giải pháphigher.
  • Hãy đào sâu vào các chuyến bay Virgin America bị trì hoãn bất ngờ. Những chuyến bay nào bị trì hoãn trong khoảng 20-25 phút? Có một lý do nhất định? Bạn có thể đưa ra những giả thuyết nào về lý do tại sao có nhiều chuyến bay trong thùng đó trái ngược với xô 15-20 phút? Chọn các chuyến bay bằng cách sử dụng lập chỉ mục Boolean, sau đó đếm các sân bay gốc cho các chuyến bay đó.lower.

So sánh phân phối với biểu đồ

Hướng dẫn how do you distribute data in python? - làm thế nào để bạn phân phối dữ liệu trong python?
Nhìn thấy một phân phối là hữu ích để cung cấp cho chúng ta một hình dạng của dữ liệu, nhưng làm thế nào về hai?

So sánh phân phối của hai hãng hàng không với số lượng tổng số chuyến bay, US Airways và Envoy Air:

Đầu vào


data['delayed'] = data['arr_delay'].apply(lambda x: x > 0) #from previous lesson
    
1

Đầu ra


data['delayed'] = data['arr_delay'].apply(lambda x: x > 0) #from previous lesson
    
2

Hãy vẽ sơ đồ phân phối độ trễ chuyến bay Tây Nam dưới dạng biểu đồ bằng cách sử dụng biến bin_values ​​được tạo ở trên:

Tuyệt quá! Bạn có thể thấy rằng phần lớn các chuyến bay Tây Nam không trễ quá 30 phút. Mặc dù hãng hàng không có nhiều chuyến bay, nhưng phần lớn trong số họ không đủ muộn để khiến bạn hối hận khi đi nghỉ.

Thực hành vấn đềdispersion than Envoy Air.

Lô đất của Virgin America trì hoãn trong khoảng thời gian dài năm phút từ -50 phút đến 200 phút.

Xem giải pháp

Để làm cho mọi thứ dễ dàng hơn, bạn có thể nhìn vào 20 sân bay khối lượng cao nhất theo nguồn gốc:

Đầu vào


data['delayed'] = data['arr_delay'].apply(lambda x: x > 0) #from previous lesson
    
3

Đầu ra


data['delayed'] = data['arr_delay'].apply(lambda x: x > 0) #from previous lesson
    
4

Đầu vào


data['delayed'] = data['arr_delay'].apply(lambda x: x > 0) #from previous lesson
    
5

Đầu ra


data['delayed'] = data['arr_delay'].apply(lambda x: x > 0) #from previous lesson
    
6

Lọc danh sách các giá trị với delayed_by_carrier['flights_count'] = (delayed_by_carrier[False] + delayed_by_carrier[True]) delayed_by_carrier[:5] 9

Để tạo một chỉ mục boolean nơi bạn đang tìm kiếm các giá trị phù hợp với bất cứ thứ gì trong danh sách, bạn phải sử dụng .isin () với danh sách các trận đấu mong muốn.

Bạn có thể tạo một bộ lọc chỉ số Boolean cho các hồ sơ có nguồn gốc ('nguồn gốc') trong 20 sân bay khối lượng cao nhất.

Đầu vào


data['delayed'] = data['arr_delay'].apply(lambda x: x > 0) #from previous lesson
    
7

Đầu ra

flight_dateunique_carrierflight_numLọc danh sách các giá trị với

delayed_by_carrier['flights_count'] = (delayed_by_carrier[False] + delayed_by_carrier[True])
delayed_by_carrier[:5]
    
9
Để tạo một chỉ mục boolean nơi bạn đang tìm kiếm các giá trị phù hợp với bất cứ thứ gì trong danh sách, bạn phải sử dụng .isin () với danh sách các trận đấu mong muốn.arr_delayBạn có thể tạo một bộ lọc chỉ số Boolean cho các hồ sơ có nguồn gốc ('nguồn gốc') trong 20 sân bay khối lượng cao nhất.nguồn gốccarrier_delayweather_delaylate_aircraft_delaynas_delaysecurity_delayactual_elapsed_timeDest
0bị hủy bỏkhoảng cách1 chậm trễ2015-01-02-19.0 0.0 2475.0 AaAaAaAaAa381.0 JFK
1Lỏng lẻokhoảng cách1 chậm trễ2015-01-02-39.0 0.0 2475.0 AaAaAaAaAa358.0 JFK
2Lỏng lẻokhoảng cách1 chậm trễ2015-01-02-12.0 0.0 2475.0 AaAaAaAaAa385.0 JFK
3Lỏng lẻokhoảng cách1 chậm trễ2015-01-02-8.0 0.0 2475.0 AaAaAaAaAa389.0 JFK
4Lỏng lẻokhoảng cách1 chậm trễ2015-01-0225.0 0.0 2475.0 0.0 0.0 0.0 25.0 0.0 424.0 Aa

JFK


data['delayed'] = data['arr_delay'].apply(lambda x: x > 0) #from previous lesson
    
8

Lỏng lẻo

Nan

Sai

Đầu vào


data['delayed'] = data['arr_delay'].apply(lambda x: x > 0) #from previous lesson
    
9

Đầu ra

Lọc danh sách các giá trị với

delayed_by_carrier['flights_count'] = (delayed_by_carrier[False] + delayed_by_carrier[True])
delayed_by_carrier[:5]
    
9
Để tạo một chỉ mục boolean nơi bạn đang tìm kiếm các giá trị phù hợp với bất cứ thứ gì trong danh sách, bạn phải sử dụng .isin () với danh sách các trận đấu mong muốn.Bạn có thể tạo một bộ lọc chỉ số Boolean cho các hồ sơ có nguồn gốc ('nguồn gốc') trong 20 sân bay khối lượng cao nhất.nguồn gốcDestbị hủy bỏkhoảng cáchchậm trễ2015-01-02AaJFKLỏng lẻoNanSai2015-01-032015-01-042015-01-052015-01-06ĐÚNG VẬYĐể so sánh, việc sử dụng

delayed_by_carrier['flights_count'] = (delayed_by_carrier[False] + delayed_by_carrier[True])
delayed_by_carrier[:5]
    
9 trong Python trên tương đương với truy vấn SQL sau:
Ô hộp
flight_date
2015-01-023.327536 3.590580 0.509317 20.526899 36.049598 -6.842809 8.316993 -0.543307 12.156187 3.688742 13.709512 16.500000 -2.947712 5.834734 1.193333 4.590062 16.547325 12.254717 8.371429 4.534161
2015-01-0315.428112 30.471616 13.768340 51.186292 37.604138 22.738007 37.370229 15.666667 39.844037 31.882979 18.550685 26.117338 15.606426 17.511364 20.027586 37.995702 19.783843 13.771812 11.773364 13.465190
2015-01-0421.423343 26.867857 23.325077 52.495238 38.360104 35.771626 53.617978 25.293651 20.464286 55.445578 19.564767 28.159016 32.450704 39.847025 19.461279 83.225619 20.180085 10.291262 19.251092 15.503125
2015-01-053.095000 11.208609 6.051672 29.899200 28.705263 24.696594 22.674051 13.711864 8.450505 19.554422 17.229381 15.788618 34.984177 14.929204 23.874564 63.916667 13.665217 5.418060 13.225806 2.003356
2015-01-066.361725 43.310580 13.294964 15.344029 11.534626 35.078616 43.104530 23.425926 3.622642 43.359073 13.330579 7.234004 61.165049 29.996785 9.435088 42.356183 12.156658 4.372180 8.582716 0.581481
2015-01-070.944276 10.651316 4.869565 33.301095 10.428762 13.403727 22.030508 11.254464 10.490476 15.536680 7.498652 5.442446 46.063973 8.977918 -1.666667 38.479361 7.348028 9.467925 5.289216 2.977941
2015-01-083.033099 6.807692 10.484568 14.569873 11.217450 20.593060 15.419463 2.558442 1.571121 2.749091 8.597911 6.171329 3.575221 9.152648 47.264605 96.695578 8.000000 8.738351 5.141487 12.619718
2015-01-091.833499 21.045603 5.742331 21.551237 8.591810 34.665653 22.632107 1.808696 7.611354 43.294964 4.487245 8.144112 42.325581 8.758410 6.834459 46.355837 2.160550 7.464029 9.425178 3.878893
2015-01-10-5.473046 3.763547 -1.658915 2.822014 5.501582 2.584906 0.422680 -5.172269 0.937888 1.259259 2.564706 2.709746 -11.311475 0.273273 8.542857 16.635209 2.213483 -2.761506 0.621622 2.718894
2015-01-11-2.118085 -2.569767 5.789286 16.045977 19.767313 5.808725 -1.670543 -3.008734 17.064904 -2.964158 40.793103 24.195531 -7.576923 -2.242991 2.264493 22.578704 11.557143 6.381132 27.650633 5.946043
2015-01-1242.375375 8.254777 14.975524 22.791444 19.114820 24.692771 8.219780 8.960699 22.710526 4.297101 12.710526 10.982175 16.641509 21.563863 1.274510 31.676056 5.371230 7.318519 27.918719 7.051546
2015-01-132.812957 -9.384106 0.086505 9.789279 7.248656 -2.710692 -2.901024 -7.118721 1.415274 -13.214559 -2.937853 -1.553506 -0.883234 -1.462295 -5.660959 23.323259 2.083990 3.267176 11.153652 0.528090
2015-01-14-1.400000 -3.091216 -1.681250 -0.638838 2.690160 -1.903727 -5.456446 3.360360 -0.530120 -14.911877 -3.695418 -2.958559 0.002994 1.885350 -7.691030 2.735369 -1.161593 -1.134831 1.324455 -5.717949

Bây giờ bạn có một khung dữ liệu của các chuyến bay có nguồn gốc từ các sân bay khối lượng lớn, bạn có thể hỏi: Sự chậm trễ chuyến bay dài nhất bắt nguồn từ đâu vào tháng 1 năm 2015?

Đầu vào


delayed_flights = data[data['delayed'] == True] #filter to only rows where delayer == True
delayed_flights['unique_carrier'].value_counts() #count the number of rows for each carrier
    
0

Đầu ra

Lọc danh sách các giá trị với

delayed_by_carrier['flights_count'] = (delayed_by_carrier[False] + delayed_by_carrier[True])
delayed_by_carrier[:5]
    
9
Để tạo một chỉ mục boolean nơi bạn đang tìm kiếm các giá trị phù hợp với bất cứ thứ gì trong danh sách, bạn phải sử dụng .isin () với danh sách các trận đấu mong muốn.Bạn có thể tạo một bộ lọc chỉ số Boolean cho các hồ sơ có nguồn gốc ('nguồn gốc') trong 20 sân bay khối lượng cao nhất.nguồn gốcDestbị hủy bỏkhoảng cáchchậm trễ2015-01-02AaJFKLỏng lẻoNanSai2015-01-032015-01-042015-01-052015-01-06ĐÚNG VẬYĐể so sánh, việc sử dụng

delayed_by_carrier['flights_count'] = (delayed_by_carrier[False] + delayed_by_carrier[True])
delayed_by_carrier[:5]
    
9 trong Python trên tương đương với truy vấn SQL sau:
Ô hộp
Bây giờ bạn có một khung dữ liệu của các chuyến bay có nguồn gốc từ các sân bay khối lượng lớn, bạn có thể hỏi: Sự chậm trễ chuyến bay dài nhất bắt nguồn từ đâu vào tháng 1 năm 2015?13.000000 13.000000 13.000000 13.000000 13.000000 13.000000 13.000000 13.000000 13.000000 13.000000 13.000000 13.000000 13.000000 13.000000 13.000000 13.000000 13.000000 13.000000 13.000000 13.000000
bần tiện7.049522 11.609776 7.350537 22.283364 18.216483 16.044343 17.213870 6.938287 11.216083 14.613638 11.723369 11.302481 17.699715 11.925022 9.627240 39.274123 9.223535 6.526833 11.517644 5.083884
STD12.798122 15.004838 7.499172 16.171575 12.854437 15.286101 18.718574 10.452380 11.488504 22.619487 11.574100 10.193057 23.428830 12.647029 14.971524 28.195169 7.051518 4.795902 8.742399 5.910367
Tối thiểu-5.473046 -9.384106 -1.681250 -0.638838 2.690160 -6.842809 -5.456446 -7.118721 -0.530120 -14.911877 -3.695418 -2.958559 -11.311475 -2.242991 -7.691030 2.735369 -1.161593 -2.761506 0.621622 -5.717949
25%0.944276 3.590580 0.509317 14.569873 8.591810 2.584906 0.422680 -0.543307 1.571121 1.259259 4.487245 5.442446 -0.883234 1.885350 1.193333 22.578704 2.213483 4.372180 5.289216 2.003356
50%3.033099 8.254777 5.789286 20.526899 11.534626 20.593060 15.419463 3.360360 8.450505 4.297101 12.710526 8.144112 15.606426 8.977918 6.834459 37.995702 8.000000 7.318519 9.425178 3.878893
75%6.361725 21.045603 13.294964 29.899200 28.705263 24.696594 22.674051 13.711864 17.064904 31.882979 17.229381 16.500000 34.984177 17.511364 19.461279 46.355837 13.665217 9.467925 13.225806 7.051546
Tối đa42.375375 43.310580 23.325077 52.495238 38.360104 35.771626 53.617978 25.293651 39.844037 55.445578 40.793103 28.159016 61.165049 39.847025 47.264605 96.695578 20.180085 13.771812 27.918719 15.503125

Thật khó để so sánh các sân bay chỉ bằng cách nhìn vào một bảng số lớn. Điều này sẽ dễ dàng hơn nếu bạn nhóm các hồ sơ cho mỗi sân bay và phủ chúng, như bạn đã làm với Envoy Air và US Airways:

Đầu vào


delayed_flights = data[data['delayed'] == True] #filter to only rows where delayer == True
delayed_flights['unique_carrier'].value_counts() #count the number of rows for each carrier
    
1

Đầu ra


delayed_flights = data[data['delayed'] == True] #filter to only rows where delayer == True
delayed_flights['unique_carrier'].value_counts() #count the number of rows for each carrier
    
2

Chà, điều đó cũng khó đọc. Phương pháp phân phối lớp phủ có giới hạn, ít nhất là khi bạn muốn so sánh nhiều bản phân phối cùng một lúc. May mắn thay, có một cách hình dung một chiều để hình dung hình dạng của các bản phân phối được gọi là một ô hộp.box plot.

Các ô hộp bao gồm các biện pháp phân tán quan trọng tương tự mà bạn nhận được khi chạy


data.groupby(['unique_carrier','delayed']).size().unstack()
    
0, cho phép nó được hiển thị theo một chiều và dễ dàng so sánh với các bản phân phối khác. Các thành phần của các ô hộp là:

Hướng dẫn how do you distribute data in python? - làm thế nào để bạn phân phối dữ liệu trong python?
- Thiết kế bảng điều khiển thông tin, Stephen vài

Hãy thử sử dụng các ô hộp để so sánh phân phối độ trễ hàng ngày tại mỗi sân bay:

Đầu vào


delayed_flights = data[data['delayed'] == True] #filter to only rows where delayer == True
delayed_flights['unique_carrier'].value_counts() #count the number of rows for each carrier
    
3

Đầu ra


delayed_flights = data[data['delayed'] == True] #filter to only rows where delayer == True
delayed_flights['unique_carrier'].value_counts() #count the number of rows for each carrier
    
4

Chà, điều đó cũng khó đọc. Phương pháp phân phối lớp phủ có giới hạn, ít nhất là khi bạn muốn so sánh nhiều bản phân phối cùng một lúc. May mắn thay, có một cách hình dung một chiều để hình dung hình dạng của các bản phân phối được gọi là một ô hộp.

Các ô hộp bao gồm các biện pháp phân tán quan trọng tương tự mà bạn nhận được khi chạy


data.groupby(['unique_carrier','delayed']).size().unstack()
    
0, cho phép nó được hiển thị theo một chiều và dễ dàng so sánh với các bản phân phối khác. Các thành phần của các ô hộp là:Which airports are the worst to fly out of?, you can now say that you will (almost certainly) be delayed if you are flying out of Chicago in January, based on 2015 data. If you can help it, avoid connecting flights in Chicago.

- Thiết kế bảng điều khiển thông tin, Stephen vài

Hãy thử sử dụng các ô hộp để so sánh phân phối độ trễ hàng ngày tại mỗi sân bay:

Như bạn có thể thấy, việc so sánh nhiều bản phân phối với các ô hộp đơn giản hơn về mặt trực quan. Các sân bay như JFK có sự phân tán đáng kể sự chậm trễ, trong khi LGA được phân phối đều xung quanh sự chậm trễ trung bình thường xuyên nhất. Tuy nhiên, Ord gần gấp đôi thời gian, so với mọi sân bay khối lượng lớn khác. Mong đợi sự chậm trễ của tuyết ở Chicago vào tháng 1!

Dẫn đầu phân tích này, chúng tôi đặt ra một vài câu hỏi chính. Để trả lời cuối cùng, sân bay nào là tồi tệ nhất để bay ra ?, Bây giờ bạn có thể nói rằng bạn sẽ (gần như chắc chắn) bị trì hoãn nếu bạn bay ra khỏi Chicago vào tháng 1, dựa trên dữ liệu năm 2015. Nếu bạn có thể giúp nó, tránh kết nối các chuyến bay ở Chicago.

Thực hành vấn đề

Hình dung độ trễ đến trung bình theo ngày và nhà cung cấp bằng cách sử dụng các ô hộp.

  • Xem giải pháp
  • Tom tăt bai học
  • Như bạn đã thấy trong bài học này, việc đặt dữ liệu ngược lại cho phép bạn hiểu rõ hơn về nó. Mặc dù nó rõ ràng rằng tất cả các hãng hàng không và sân bay đều bị chậm trễ, bạn có thể sử dụng số liệu thống kê để nhanh chóng rút ra những xu hướng và sự xuất hiện bất thường trên dữ liệu. Độ lệch của dữ liệu so với một xu hướng thường được tiết lộ rõ ​​ràng trong trực quan hóa, cho phép bạn xác định trực quan các sự kiện bất thường và đào sâu hơn.
  • Trong bài học này, bạn đã học được cách:
  • Phân phối phân phối bộ dữ liệu

Phân phối trong Python là gì?

Phân phối bình thường Python là một hàm phân phối các biến ngẫu nhiên trong một biểu đồ được định hình như một chuông đối xứng.Nó làm như vậy bằng cách sắp xếp phân phối xác suất cho mỗi giá trị.a function that distributes random variables in a graph that is shaped as a symmetrical bell. It does so by arranging the probability distribution for each value.

Phân phối dữ liệu là gì?

Phân phối dữ liệu là một hàm chỉ định tất cả các giá trị có thể có cho một biến và cũng định lượng tần số tương đối (xác suất chúng thường xảy ra).Phân phối được coi là bất kỳ dân số nào có sự phân tán dữ liệu.a function that specifies all possible values for a variable and also quantifies the relative frequency (probability of how often they occur). Distributions are considered any population that has a scattering of data.

Phân phối trong khai thác dữ liệu là gì?

Khai thác dữ liệu phân tán đề cập đến việc khai thác các bộ dữ liệu phân tán.Các bộ dữ liệu được lưu trữ trong cơ sở dữ liệu cục bộ, được lưu trữ bởi các máy tính địa phương, được kết nối thông qua công việc mạng máy tính.the mining of distributed data sets. The data sets are stored in local databases, hosted by local com- puters, which are connected through a computer net- work.

Sơ đồ phân phối là gì?

Các sơ đồ phân phối đánh giá trực quan việc phân phối dữ liệu mẫu bằng cách so sánh phân phối thực nghiệm của dữ liệu với các giá trị lý thuyết dự kiến từ một phân phối được chỉ định.visually assess the distribution of sample data by comparing the empirical distribution of the data with the theoretical values expected from a specified distribution.