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)

Chủ đề