Python chia tuổi thành các nhóm như thế nào?

Hướng dẫn này sử dụng tập dữ liệu titanic, được lưu trữ dưới dạng CSV. Dữ liệu bao gồm các cột dữ liệu sau

  • Id hành khách. Id của mỗi hành khách

  • sống sót. Tính năng này có giá trị 0 và 1. 0 cho không sống sót và 1 cho sống sót

  • lớp học. Có 3 lớp. Lớp 1, Lớp 2 và Lớp 3

  • Tên. Tên hành khách

  • giới tính. Giới tính của hành khách

  • Tuổi. Tuổi của hành khách

  • SibSp. Dấu hiệu cho thấy hành khách có anh chị em và vợ/chồng

  • Phơi. Dù hành khách đi một mình hay có gia đình

  • Vé. Số vé hành khách

  • giá vé. Cho biết giá vé

  • cabin. Khoang hành khách

  • bắt tay. hạng mục bắt đầu

Đến dữ liệu thô

Hướng dẫn này sử dụng tập dữ liệu Titanic, được lưu trữ dưới dạng CSV. Dữ liệu bao gồm các cột dữ liệu sau

  • Id hành khách. Id của mỗi hành khách

  • sống sót. Cho biết liệu hành khách có sống sót hay không.

    In [2]: titanic = pd.read_csv("data/titanic.csv")
    
    In [3]: titanic.head()
    Out[3]: 
       PassengerId  Survived  Pclass  ..     Fare Cabin  Embarked
    0            1         0       3  ..   7.2500   NaN         S
    1            2         1       1  ..  71.2833   C85         C
    2            3         1       3  ..   7.9250   NaN         S
    3            4         1       1  ..  53.1000  C123         S
    4            5         0       3  ..   8.0500   NaN         S
    
    [5 rows x 12 columns]
    
    2 nếu có và
    In [2]: titanic = pd.read_csv("data/titanic.csv")
    
    In [3]: titanic.head()
    Out[3]: 
       PassengerId  Survived  Pclass  ..     Fare Cabin  Embarked
    0            1         0       3  ..   7.2500   NaN         S
    1            2         1       1  ..  71.2833   C85         C
    2            3         1       3  ..   7.9250   NaN         S
    3            4         1       1  ..  53.1000  C123         S
    4            5         0       3  ..   8.0500   NaN         S
    
    [5 rows x 12 columns]
    
    3 nếu không

  • lớp học. Một trong 3 hạng vé. Lớp

    In [2]: titanic = pd.read_csv("data/titanic.csv")
    
    In [3]: titanic.head()
    Out[3]: 
       PassengerId  Survived  Pclass  ..     Fare Cabin  Embarked
    0            1         0       3  ..   7.2500   NaN         S
    1            2         1       1  ..  71.2833   C85         C
    2            3         1       3  ..   7.9250   NaN         S
    3            4         1       1  ..  53.1000  C123         S
    4            5         0       3  ..   8.0500   NaN         S
    
    [5 rows x 12 columns]
    
    3, Lớp
    In [2]: titanic = pd.read_csv("data/titanic.csv")
    
    In [3]: titanic.head()
    Out[3]: 
       PassengerId  Survived  Pclass  ..     Fare Cabin  Embarked
    0            1         0       3  ..   7.2500   NaN         S
    1            2         1       1  ..  71.2833   C85         C
    2            3         1       3  ..   7.9250   NaN         S
    3            4         1       1  ..  53.1000  C123         S
    4            5         0       3  ..   8.0500   NaN         S
    
    [5 rows x 12 columns]
    
    5 và Lớp
    In [2]: titanic = pd.read_csv("data/titanic.csv")
    
    In [3]: titanic.head()
    Out[3]: 
       PassengerId  Survived  Pclass  ..     Fare Cabin  Embarked
    0            1         0       3  ..   7.2500   NaN         S
    1            2         1       1  ..  71.2833   C85         C
    2            3         1       3  ..   7.9250   NaN         S
    3            4         1       1  ..  53.1000  C123         S
    4            5         0       3  ..   8.0500   NaN         S
    
    [5 rows x 12 columns]
    
    6

  • Tên. Tên hành khách

  • giới tính. Giới tính của hành khách

  • Tuổi. Tuổi của hành khách theo năm

  • SibSp. Số anh chị em hoặc vợ chồng trên tàu

  • Phơi. Số lượng cha mẹ hoặc trẻ em trên tàu

  • Vé. Số vé hành khách

  • giá vé. Cho biết giá vé

  • cabin. Số khoang hành khách

  • bắt tay. cảng lên tàu

Đến dữ liệu thô

In [2]: titanic = pd.read_csv("data/titanic.csv")

In [3]: titanic.head()
Out[3]: 
   PassengerId  Survived  Pclass  ..     Fare Cabin  Embarked
0            1         0       3  ..   7.2500   NaN         S
1            2         1       1  ..  71.2833   C85         C
2            3         1       3  ..   7.9250   NaN         S
3            4         1       1  ..  53.1000  C123         S
4            5         0       3  ..   8.0500   NaN         S

[5 rows x 12 columns]

Cách tính thống kê tóm tắt

Tổng hợp thống kê

  • Độ tuổi trung bình của hành khách trên tàu Titanic là bao nhiêu?

    In [4]: titanic["Age"].mean()
    Out[4]: 29.69911764705882
    

Các số liệu thống kê khác nhau có sẵn và có thể được áp dụng cho các cột có dữ liệu số. Các hoạt động nói chung loại trừ dữ liệu bị thiếu và hoạt động trên các hàng theo mặc định

  • Độ tuổi trung bình và giá vé của hành khách Titanic là bao nhiêu?

    In [5]: titanic[["Age", "Fare"]].median()
    Out[5]: 
    Age     28.0000
    Fare    14.4542
    dtype: float64
    

    Thống kê được áp dụng cho nhiều cột của một

    In [2]: titanic = pd.read_csv("data/titanic.csv")
    
    In [3]: titanic.head()
    Out[3]: 
       PassengerId  Survived  Pclass  ..     Fare Cabin  Embarked
    0            1         0       3  ..   7.2500   NaN         S
    1            2         1       1  ..  71.2833   C85         C
    2            3         1       3  ..   7.9250   NaN         S
    3            4         1       1  ..  53.1000  C123         S
    4            5         0       3  ..   8.0500   NaN         S
    
    [5 rows x 12 columns]
    
    7 (việc lựa chọn hai cột trả về một
    In [2]: titanic = pd.read_csv("data/titanic.csv")
    
    In [3]: titanic.head()
    Out[3]: 
       PassengerId  Survived  Pclass  ..     Fare Cabin  Embarked
    0            1         0       3  ..   7.2500   NaN         S
    1            2         1       1  ..  71.2833   C85         C
    2            3         1       3  ..   7.9250   NaN         S
    3            4         1       1  ..  53.1000  C123         S
    4            5         0       3  ..   8.0500   NaN         S
    
    [5 rows x 12 columns]
    
    7, xem phần ) được tính cho từng cột số

Thống kê tổng hợp có thể được tính cho nhiều cột cùng một lúc. Ghi nhớ chức năng

In [2]: titanic = pd.read_csv("data/titanic.csv")

In [3]: titanic.head()
Out[3]: 
   PassengerId  Survived  Pclass  ..     Fare Cabin  Embarked
0            1         0       3  ..   7.2500   NaN         S
1            2         1       1  ..  71.2833   C85         C
2            3         1       3  ..   7.9250   NaN         S
3            4         1       1  ..  53.1000  C123         S
4            5         0       3  ..   8.0500   NaN         S

[5 rows x 12 columns]
9 từ ?

In [6]: titanic[["Age", "Fare"]].describe()
Out[6]: 
              Age        Fare
count  714.000000  891.000000
mean    29.699118   32.204208
std     14.526497   49.693429
min      0.420000    0.000000
25%     20.125000    7.910400
50%     28.000000   14.454200
75%     38.000000   31.000000
max     80.000000  512.329200

Thay vì thống kê được xác định trước, có thể xác định các kết hợp cụ thể của thống kê tổng hợp cho các cột nhất định bằng phương pháp

In [7]: titanic.agg(
   ...:     {
   ...:         "Age": ["min", "max", "median", "skew"],
   ...:         "Fare": ["min", "max", "median", "mean"],
   ...:     }
   ...: )
   ...: 
Out[7]: 
              Age        Fare
min      0.420000    0.000000
max     80.000000  512.329200
median  28.000000   14.454200
skew     0.389108         NaN
mean          NaN   32.204208

Để hướng dẫn sử dụng

Chi tiết về thống kê mô tả được cung cấp trong phần hướng dẫn sử dụng trên

Tổng hợp số liệu thống kê được nhóm theo danh mục

  • Độ tuổi trung bình của nam và nữ hành khách Titanic là bao nhiêu?

    In [8]: titanic[["Sex", "Age"]].groupby("Sex").mean()
    Out[8]: 
                  Age
    Sex              
    female  27.915709
    male    30.726645
    

    Vì mối quan tâm của chúng tôi là độ tuổi trung bình cho mỗi giới tính nên lựa chọn phụ trên hai cột này được thực hiện trước.

    In [4]: titanic["Age"].mean()
    Out[4]: 29.69911764705882
    
    1. Tiếp theo, phương pháp được áp dụng trên cột
    In [4]: titanic["Age"].mean()
    Out[4]: 29.69911764705882
    
    3 để tạo một nhóm cho mỗi danh mục. Độ tuổi trung bình cho mỗi giới tính được tính toán và trả về

Tính toán một thống kê nhất định (e. g.

In [4]: titanic["Age"].mean()
Out[4]: 29.69911764705882
4 tuổi) cho mỗi danh mục trong một cột (e. g. nam/nữ trong cột
In [4]: titanic["Age"].mean()
Out[4]: 29.69911764705882
3) là một khuôn mẫu phổ biến. Phương pháp
In [4]: titanic["Age"].mean()
Out[4]: 29.69911764705882
6 được sử dụng để hỗ trợ loại hoạt động này. Điều này phù hợp với mẫu
In [4]: titanic["Age"].mean()
Out[4]: 29.69911764705882
7 tổng quát hơn

  • Chia dữ liệu thành các nhóm

  • Áp dụng một chức năng cho từng nhóm một cách độc lập

  • Kết hợp các kết quả thành một cấu trúc dữ liệu

Các bước áp dụng và kết hợp thường được thực hiện cùng nhau trong gấu trúc

Trong ví dụ trước, chúng tôi đã chọn rõ ràng 2 cột đầu tiên. Nếu không, phương pháp

In [4]: titanic["Age"].mean()
Out[4]: 29.69911764705882
4 được áp dụng cho từng cột chứa các cột số bằng cách chuyển qua
In [4]: titanic["Age"].mean()
Out[4]: 29.69911764705882
9

In [9]: titanic.groupby("Sex").mean(numeric_only=True)
Out[9]: 
        PassengerId  Survived    Pclass  ..     SibSp     Parch       Fare
Sex                                      ..                               
female   431.028662  0.742038  2.159236  ..  0.694268  0.649682  44.479818
male     454.147314  0.188908  2.389948  ..  0.429809  0.235702  25.523893

[2 rows x 7 columns]

Không có ý nghĩa gì nhiều khi lấy giá trị trung bình của

In [5]: titanic[["Age", "Fare"]].median()
Out[5]: 
Age     28.0000
Fare    14.4542
dtype: float64
0. Nếu chúng ta chỉ quan tâm đến độ tuổi trung bình của mỗi giới tính, việc lựa chọn các cột (dấu ngoặc chữ nhật
In [5]: titanic[["Age", "Fare"]].median()
Out[5]: 
Age     28.0000
Fare    14.4542
dtype: float64
1 như thường lệ) cũng được hỗ trợ trên dữ liệu được nhóm

In [10]: titanic.groupby("Sex")["Age"].mean()
Out[10]: 
Sex
female    27.915709
male      30.726645
Name: Age, dtype: float64

Ghi chú

Cột

In [5]: titanic[["Age", "Fare"]].median()
Out[5]: 
Age     28.0000
Fare    14.4542
dtype: float64
0 chứa dữ liệu số nhưng thực tế đại diện cho 3 loại (hoặc yếu tố) với các nhãn tương ứng là '1', '2' và '3'. Tính toán số liệu thống kê về những điều này không có nhiều ý nghĩa. Do đó, pandas cung cấp loại dữ liệu
In [5]: titanic[["Age", "Fare"]].median()
Out[5]: 
Age     28.0000
Fare    14.4542
dtype: float64
3 để xử lý loại dữ liệu này. Thông tin thêm được cung cấp trong phần hướng dẫn sử dụng

  • Giá vé trung bình cho mỗi kết hợp giới tính và hạng ghế là bao nhiêu?

    In [11]: titanic.groupby(["Sex", "Pclass"])["Fare"].mean()
    Out[11]: 
    Sex     Pclass
    female  1         106.125798
            2          21.970121
            3          16.118810
    male    1          67.226127
            2          19.741782
            3          12.661633
    Name: Fare, dtype: float64
    

    Việc nhóm có thể được thực hiện theo nhiều cột cùng một lúc. Cung cấp tên cột dưới dạng danh sách cho phương thức

Để hướng dẫn sử dụng

Mô tả đầy đủ về cách tiếp cận tách-áp dụng-kết hợp được cung cấp trong phần hướng dẫn sử dụng trên

Đếm số bản ghi theo danh mục

  • Số lượng hành khách trong mỗi hạng cabin là bao nhiêu?

    In [2]: titanic = pd.read_csv("data/titanic.csv")
    
    In [3]: titanic.head()
    Out[3]: 
       PassengerId  Survived  Pclass  ..     Fare Cabin  Embarked
    0            1         0       3  ..   7.2500   NaN         S
    1            2         1       1  ..  71.2833   C85         C
    2            3         1       3  ..   7.9250   NaN         S
    3            4         1       1  ..  53.1000  C123         S
    4            5         0       3  ..   8.0500   NaN         S
    
    [5 rows x 12 columns]
    
    0

    Phương thức đếm số lượng bản ghi cho mỗi danh mục trong một cột

Hàm này là một phím tắt, vì nó thực sự là một hoạt động theo nhóm kết hợp với việc đếm số lượng bản ghi trong mỗi nhóm

In [2]: titanic = pd.read_csv("data/titanic.csv")

In [3]: titanic.head()
Out[3]: 
   PassengerId  Survived  Pclass  ..     Fare Cabin  Embarked
0            1         0       3  ..   7.2500   NaN         S
1            2         1       1  ..  71.2833   C85         C
2            3         1       3  ..   7.9250   NaN         S
3            4         1       1  ..  53.1000  C123         S
4            5         0       3  ..   8.0500   NaN         S

[5 rows x 12 columns]
1

Ghi chú

Cả

In [5]: titanic[["Age", "Fare"]].median()
Out[5]: 
Age     28.0000
Fare    14.4542
dtype: float64
6 và
In [5]: titanic[["Age", "Fare"]].median()
Out[5]: 
Age     28.0000
Fare    14.4542
dtype: float64
7 đều có thể được sử dụng kết hợp với
In [4]: titanic["Age"].mean()
Out[4]: 29.69911764705882
6. Trong khi
In [5]: titanic[["Age", "Fare"]].median()
Out[5]: 
Age     28.0000
Fare    14.4542
dtype: float64
6 bao gồm các giá trị
In [6]: titanic[["Age", "Fare"]].describe()
Out[6]: 
              Age        Fare
count  714.000000  891.000000
mean    29.699118   32.204208
std     14.526497   49.693429
min      0.420000    0.000000
25%     20.125000    7.910400
50%     28.000000   14.454200
75%     38.000000   31.000000
max     80.000000  512.329200
0 và chỉ cung cấp số lượng hàng (kích thước của bảng), thì
In [5]: titanic[["Age", "Fare"]].median()
Out[5]: 
Age     28.0000
Fare    14.4542
dtype: float64
7 không bao gồm các giá trị bị thiếu. Trong phương pháp
In [6]: titanic[["Age", "Fare"]].describe()
Out[6]: 
              Age        Fare
count  714.000000  891.000000
mean    29.699118   32.204208
std     14.526497   49.693429
min      0.420000    0.000000
25%     20.125000    7.910400
50%     28.000000   14.454200
75%     38.000000   31.000000
max     80.000000  512.329200
2, sử dụng đối số
In [6]: titanic[["Age", "Fare"]].describe()
Out[6]: 
              Age        Fare
count  714.000000  891.000000
mean    29.699118   32.204208
std     14.526497   49.693429
min      0.420000    0.000000
25%     20.125000    7.910400
50%     28.000000   14.454200
75%     38.000000   31.000000
max     80.000000  512.329200
3 để bao gồm hoặc loại trừ các giá trị
In [6]: titanic[["Age", "Fare"]].describe()
Out[6]: 
              Age        Fare
count  714.000000  891.000000
mean    29.699118   32.204208
std     14.526497   49.693429
min      0.420000    0.000000
25%     20.125000    7.910400
50%     28.000000   14.454200
75%     38.000000   31.000000
max     80.000000  512.329200
0

GroupBy hoạt động như thế nào trong Python?

Thao tác theo nhóm liên quan đến một số kết hợp tách đối tượng, áp dụng hàm và kết hợp các kết quả . Điều này có thể được sử dụng để nhóm một lượng lớn dữ liệu và tính toán các hoạt động trên các nhóm này.

Làm cách nào để nhóm dữ liệu theo giới tính trong Python?

Để thực hiện việc này trong gấu trúc, đã cung cấp Khung dữ liệu df_tips của chúng tôi, áp dụng phương thức groupby() và chuyển vào cột giới tính (đó sẽ là chỉ mục của chúng tôi), sau đó tham khảo . .

Độ tuổi ở gấu trúc là gì?

PANDAS được coi là một rối loạn ở trẻ em và thường xuất hiện lần đầu ở trẻ em từ 3 tuổi đến tuổi dậy thì .

Có bao nhiêu nhóm Nhập khẩu được chia thành Python?

Thông thường có ba nhóm . nhập thư viện chuẩn (các mô-đun tích hợp sẵn của Python) nhập bên thứ ba có liên quan (các mô-đun được cài đặt và không thuộc ứng dụng hiện tại) nhập ứng dụng cục bộ (các mô-đun thuộc ứng dụng hiện tại)