Hướng dẫn what is dataset and dataframe in python? - tập dữ liệu và khung dữ liệu trong python là gì?

Xem bây giờ hướng dẫn này có một khóa học video liên quan được tạo bởi nhóm Python thực sự. Xem cùng với hướng dẫn bằng văn bản để hiểu sâu hơn về sự hiểu biết của bạn: Khám phá bộ dữ liệu của bạn với gấu trúc This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Explore Your Dataset With Pandas

Show

Bạn có một bộ dữ liệu lớn mà đầy đủ những hiểu biết thú vị, nhưng bạn không chắc chắn nơi bắt đầu khám phá nó? Có phải ông chủ của bạn đã yêu cầu bạn tạo ra một số số liệu thống kê từ nó, nhưng họ không dễ trích xuất? Đây chính xác là những trường hợp sử dụng trong đó gấu trúc và python có thể giúp bạn! Với các công cụ này, bạn sẽ có thể cắt một bộ dữ liệu lớn thành các bộ phận có thể quản lý và hiểu biết sâu sắc từ thông tin đó.Pandas and Python can help you! With these tools, you’ll be able to slice a large dataset down into manageable parts and glean insight from that information.

Trong hướng dẫn này, bạn sẽ học cách:

  • Tính toán số liệu về dữ liệu của bạn metrics about your data
  • Thực hiện các truy vấn và tập hợp cơ bản basic queries and aggregations
  • Khám phá và xử lý dữ liệu không chính xác, sự không nhất quán và các giá trị bị thiếu and handle incorrect data, inconsistencies, and missing values
  • Hình dung dữ liệu của bạn với các lô your data with plots

Bạn cũng sẽ tìm hiểu về sự khác biệt giữa các cấu trúc dữ liệu chính mà Pandas và Python sử dụng. Để làm theo, bạn có thể lấy tất cả các mã ví dụ trong hướng dẫn này tại liên kết bên dưới:

Thiết lập môi trường của bạn

Có một vài điều bạn sẽ cần phải bắt đầu với hướng dẫn này. Đầu tiên là sự quen thuộc với các cấu trúc dữ liệu tích hợp Python, đặc biệt là danh sách và từ điển. Để biết thêm thông tin, hãy xem danh sách và bộ dữ liệu trong Python và từ điển trong Python.

Điều thứ hai bạn cần là một môi trường Python hoạt động. Bạn có thể theo dõi trong bất kỳ thiết bị đầu cuối nào đã cài đặt Python 3. Nếu bạn muốn xem đầu ra đẹp hơn, đặc biệt là đối với bộ dữ liệu NBA lớn mà bạn sẽ làm việc, thì bạn có thể muốn chạy các ví dụ trong một cuốn sổ tay Jupyter.

Điều cuối cùng bạn cần là Gandas và các thư viện Python khác mà bạn có thể cài đặt với PIP:

$ python3 -m pip install requests pandas matplotlib

Bạn cũng có thể sử dụng trình quản lý gói Conda:

$ conda install requests pandas matplotlib

Nếu bạn sử dụng phân phối Anaconda, thì bạn sẽ rất tốt! Anaconda đã được cài đặt thư viện Pandas Python.

Các ví dụ trong hướng dẫn này đã được thử nghiệm với Python 3.7 và Pandas 0,25,0, nhưng chúng cũng nên làm việc trong các phiên bản cũ hơn. Bạn có thể nhận được tất cả các ví dụ mã mà bạn sẽ thấy trong hướng dẫn này trong một cuốn sổ tay Jupyter bằng cách nhấp vào liên kết bên dưới:

Bắt đầu nào!

Sử dụng thư viện Pandas Python

Bây giờ bạn đã cài đặt gấu trúc, đã đến lúc có một cái nhìn về bộ dữ liệu. Trong hướng dẫn này, bạn sẽ phân tích kết quả NBA do FiveThentyEight cung cấp trong tệp CSV 17MB. Tạo tập lệnh

>>> import numpy as np
>>> nba.describe(include=object)
5 để tải xuống dữ liệu:

import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")

Khi bạn thực thi tập lệnh, nó sẽ lưu tệp

>>> import numpy as np
>>> nba.describe(include=object)
6 trong thư mục làm việc hiện tại của bạn.

Bây giờ bạn có thể sử dụng thư viện Pandas Python để xem dữ liệu của bạn:

>>>

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>

Tại đây, bạn theo quy ước nhập khẩu gấu trúc trong Python với bí danh

>>> import numpy as np
>>> nba.describe(include=object)
7. Sau đó, bạn sử dụng
>>> import numpy as np
>>> nba.describe(include=object)
8 để đọc trong tập dữ liệu của mình và lưu trữ nó dưới dạng đối tượng
>>> import numpy as np
>>> nba.describe(include=object)
9 trong biến
>>> nba["team_id"].value_counts()
BOS    5997
NYK    5769
LAL    5078
...
SDS      11
>>> nba["fran_id"].value_counts()
Name: team_id, Length: 104, dtype: int64
Lakers          6024
Celtics         5997
Knicks          5769
...
Huskies           60
Name: fran_id, dtype: int64
0.

Bạn có thể thấy bao nhiêu dữ liệu

>>> nba["team_id"].value_counts()
BOS    5997
NYK    5769
LAL    5078
...
SDS      11
>>> nba["fran_id"].value_counts()
Name: team_id, Length: 104, dtype: int64
Lakers          6024
Celtics         5997
Knicks          5769
...
Huskies           60
Name: fran_id, dtype: int64
0 chứa:

>>>

>>> len(nba)
126314
>>> nba.shape
(126314, 23)

Tại đây, bạn theo quy ước nhập khẩu gấu trúc trong Python với bí danh

>>> import numpy as np
>>> nba.describe(include=object)
7. Sau đó, bạn sử dụng
>>> import numpy as np
>>> nba.describe(include=object)
8 để đọc trong tập dữ liệu của mình và lưu trữ nó dưới dạng đối tượng
>>> import numpy as np
>>> nba.describe(include=object)
9 trong biến
>>> nba["team_id"].value_counts()
BOS    5997
NYK    5769
LAL    5078
...
SDS      11
>>> nba["fran_id"].value_counts()
Name: team_id, Length: 104, dtype: int64
Lakers          6024
Celtics         5997
Knicks          5769
...
Huskies           60
Name: fran_id, dtype: int64
0.dimensionality. The result is a tuple containing the number of rows and columns.

Bạn có thể thấy bao nhiêu dữ liệu

>>> nba["team_id"].value_counts()
BOS    5997
NYK    5769
LAL    5078
...
SDS      11
>>> nba["fran_id"].value_counts()
Name: team_id, Length: 104, dtype: int64
Lakers          6024
Celtics         5997
Knicks          5769
...
Huskies           60
Name: fran_id, dtype: int64
0 chứa:

Bạn sử dụng hàm tích hợp Python

>>> nba["team_id"].value_counts()
BOS    5997
NYK    5769
LAL    5078
...
SDS      11
>>> nba["fran_id"].value_counts()
Name: team_id, Length: 104, dtype: int64
Lakers          6024
Celtics         5997
Knicks          5769
...
Huskies           60
Name: fran_id, dtype: int64
2 để xác định số lượng hàng. Bạn cũng sử dụng thuộc tính
>>> nba["team_id"].value_counts()
BOS    5997
NYK    5769
LAL    5078
...
SDS      11
>>> nba["fran_id"].value_counts()
Name: team_id, Length: 104, dtype: int64
Lakers          6024
Celtics         5997
Knicks          5769
...
Huskies           60
Name: fran_id, dtype: int64
3 của
>>> import numpy as np
>>> nba.describe(include=object)
9 để xem chiều của nó. Kết quả là một tuple chứa số lượng hàng và cột.

Hướng dẫn what is dataset and dataframe in python? - tập dữ liệu và khung dữ liệu trong python là gì?

Bây giờ bạn đã biết rằng có 126.314 hàng và 23 cột trong bộ dữ liệu của bạn. Nhưng làm thế nào bạn có thể chắc chắn bộ dữ liệu thực sự chứa các số liệu thống kê bóng rổ? Bạn có thể nhìn vào năm hàng đầu tiên với

>>> nba["team_id"].value_counts()
BOS    5997
NYK    5769
LAL    5078
...
SDS      11
>>> nba["fran_id"].value_counts()
Name: team_id, Length: 104, dtype: int64
Lakers          6024
Celtics         5997
Knicks          5769
...
Huskies           60
Name: fran_id, dtype: int64
5:

>>>

>>> pd.set_option("display.max.columns", None)

Tại đây, bạn theo quy ước nhập khẩu gấu trúc trong Python với bí danh

>>> import numpy as np
>>> nba.describe(include=object)
7. Sau đó, bạn sử dụng
>>> import numpy as np
>>> nba.describe(include=object)
8 để đọc trong tập dữ liệu của mình và lưu trữ nó dưới dạng đối tượng
>>> import numpy as np
>>> nba.describe(include=object)
9 trong biến
>>> nba["team_id"].value_counts()
BOS    5997
NYK    5769
LAL    5078
...
SDS      11
>>> nba["fran_id"].value_counts()
Name: team_id, Length: 104, dtype: int64
Lakers          6024
Celtics         5997
Knicks          5769
...
Huskies           60
Name: fran_id, dtype: int64
0.

>>>

>>> pd.set_option("display.precision", 2)

Tại đây, bạn theo quy ước nhập khẩu gấu trúc trong Python với bí danh

>>> import numpy as np
>>> nba.describe(include=object)
7. Sau đó, bạn sử dụng
>>> import numpy as np
>>> nba.describe(include=object)
8 để đọc trong tập dữ liệu của mình và lưu trữ nó dưới dạng đối tượng
>>> import numpy as np
>>> nba.describe(include=object)
9 trong biến
>>> nba["team_id"].value_counts()
BOS    5997
NYK    5769
LAL    5078
...
SDS      11
>>> nba["fran_id"].value_counts()
Name: team_id, Length: 104, dtype: int64
Lakers          6024
Celtics         5997
Knicks          5769
...
Huskies           60
Name: fran_id, dtype: int64
0.

Bạn có thể thấy bao nhiêu dữ liệu

>>> nba["team_id"].value_counts()
BOS    5997
NYK    5769
LAL    5078
...
SDS      11
>>> nba["fran_id"].value_counts()
Name: team_id, Length: 104, dtype: int64
Lakers          6024
Celtics         5997
Knicks          5769
...
Huskies           60
Name: fran_id, dtype: int64
0 chứa:

Hướng dẫn what is dataset and dataframe in python? - tập dữ liệu và khung dữ liệu trong python là gì?

Bạn sử dụng hàm tích hợp Python

>>> nba["team_id"].value_counts()
BOS    5997
NYK    5769
LAL    5078
...
SDS      11
>>> nba["fran_id"].value_counts()
Name: team_id, Length: 104, dtype: int64
Lakers          6024
Celtics         5997
Knicks          5769
...
Huskies           60
Name: fran_id, dtype: int64
2 để xác định số lượng hàng. Bạn cũng sử dụng thuộc tính
>>> nba["team_id"].value_counts()
BOS    5997
NYK    5769
LAL    5078
...
SDS      11
>>> nba["fran_id"].value_counts()
Name: team_id, Length: 104, dtype: int64
Lakers          6024
Celtics         5997
Knicks          5769
...
Huskies           60
Name: fran_id, dtype: int64
3 của
>>> import numpy as np
>>> nba.describe(include=object)
9 để xem chiều của nó. Kết quả là một tuple chứa số lượng hàng và cột.

Bây giờ bạn đã biết rằng có 126.314 hàng và 23 cột trong bộ dữ liệu của bạn. Nhưng làm thế nào bạn có thể chắc chắn bộ dữ liệu thực sự chứa các số liệu thống kê bóng rổ? Bạn có thể nhìn vào năm hàng đầu tiên với

>>> nba["team_id"].value_counts()
BOS    5997
NYK    5769
LAL    5078
...
SDS      11
>>> nba["fran_id"].value_counts()
Name: team_id, Length: 104, dtype: int64
Lakers          6024
Celtics         5997
Knicks          5769
...
Huskies           60
Name: fran_id, dtype: int64
5:

Nếu bạn theo dõi cùng với một máy tính xách tay Jupyter, thì bạn sẽ thấy một kết quả như thế này:

Hướng dẫn what is dataset and dataframe in python? - tập dữ liệu và khung dữ liệu trong python là gì?

Trừ khi màn hình của bạn khá lớn, đầu ra của bạn có thể giành được hiển thị tất cả 23 cột. Ở đâu đó ở giữa, bạn sẽ thấy một cột hình elip (

>>> nba["team_id"].value_counts()
BOS    5997
NYK    5769
LAL    5078
...
SDS      11
>>> nba["fran_id"].value_counts()
Name: team_id, Length: 104, dtype: int64
Lakers          6024
Celtics         5997
Knicks          5769
...
Huskies           60
Name: fran_id, dtype: int64
6) cho biết dữ liệu bị thiếu. Nếu bạn làm việc trong một thiết bị đầu cuối, thì đó có lẽ là dễ đọc hơn so với quấn các hàng dài. Tuy nhiên, máy tính xách tay Jupyter sẽ cho phép bạn cuộn. Bạn có thể định cấu hình gấu trúc để hiển thị tất cả 23 cột như thế này:

Mặc dù nó thực tế khi thấy tất cả các cột, nhưng có lẽ bạn đã giành được sáu vị trí thập phân! Thay đổi nó thành hai:

Làm quen với dữ liệu của bạn

Bạn đã nhập một tệp CSV với thư viện Pandas Python và có cái nhìn đầu tiên về nội dung của bộ dữ liệu của bạn. Cho đến nay, bạn chỉ thấy kích thước của bộ dữ liệu của bạn và vài hàng đầu tiên và cuối cùng của nó. Tiếp theo, bạn sẽ học cách kiểm tra dữ liệu của bạn một cách có hệ thống hơn.examine your data more systematically.

Hiển thị các loại dữ liệu

Bước đầu tiên để biết dữ liệu của bạn là khám phá các loại dữ liệu khác nhau mà nó chứa. Mặc dù bạn có thể đặt bất cứ thứ gì vào danh sách, các cột của

>>> import numpy as np
>>> nba.describe(include=object)
9 chứa các giá trị của một loại dữ liệu cụ thể. Khi bạn so sánh các cấu trúc dữ liệu Pandas và Python, bạn sẽ thấy rằng hành vi này làm cho gấu trúc nhanh hơn nhiều!

Bạn có thể hiển thị tất cả các cột và các loại dữ liệu của chúng với

>>> nba.loc[nba["fran_id"] == "Lakers", "team_id"].value_counts()
LAL    5078
MNL     946
Name: team_id, dtype: int64
4:

Điều này sẽ tạo ra đầu ra sau:

Hướng dẫn what is dataset and dataframe in python? - tập dữ liệu và khung dữ liệu trong python là gì?

Bạn sẽ thấy một danh sách tất cả các cột trong tập dữ liệu của bạn và loại dữ liệu mà mỗi cột chứa. Tại đây, bạn có thể thấy các loại dữ liệu

>>> nba.loc[nba["fran_id"] == "Lakers", "team_id"].value_counts()
LAL    5078
MNL     946
Name: team_id, dtype: int64
5,
>>> nba.loc[nba["fran_id"] == "Lakers", "team_id"].value_counts()
LAL    5078
MNL     946
Name: team_id, dtype: int64
6 và
>>> nba.loc[nba["fran_id"] == "Lakers", "team_id"].value_counts()
LAL    5078
MNL     946
Name: team_id, dtype: int64
7. Pandas sử dụng thư viện Numpy để làm việc với các loại này. Sau đó, bạn sẽ gặp loại dữ liệu
>>> nba.loc[nba["fran_id"] == "Lakers", "team_id"].value_counts()
LAL    5078
MNL     946
Name: team_id, dtype: int64
8 phức tạp hơn mà thư viện Pandas Python tự thực hiện.

Kiểu dữ liệu

>>> nba.loc[nba["fran_id"] == "Lakers", "team_id"].value_counts()
LAL    5078
MNL     946
Name: team_id, dtype: int64
7 là một loại đặc biệt. Theo cuốn sách nấu ăn của Pandas, loại dữ liệu
>>> nba.loc[nba["fran_id"] == "Lakers", "team_id"].value_counts()
LAL    5078
MNL     946
Name: team_id, dtype: int64
7 là một loại cá bắt đối với các cột mà Pandas không nhận ra là bất kỳ loại cụ thể nào khác. Trong thực tế, nó thường có nghĩa là tất cả các giá trị trong cột là chuỗi.

Mặc dù bạn có thể lưu trữ các đối tượng Python tùy ý trong kiểu dữ liệu

>>> nba.loc[nba["fran_id"] == "Lakers", "team_id"].value_counts()
LAL    5078
MNL     946
Name: team_id, dtype: int64
7, bạn nên biết về những hạn chế khi làm như vậy. Các giá trị kỳ lạ trong cột
>>> nba.loc[nba["fran_id"] == "Lakers", "team_id"].value_counts()
LAL    5078
MNL     946
Name: team_id, dtype: int64
7 có thể gây hại cho hiệu suất của Pandas và khả năng tương tác của nó với các thư viện khác. Để biết thêm thông tin, hãy xem hướng dẫn bắt đầu chính thức.

Hiển thị số liệu thống kê cơ bản

Bây giờ bạn đã thấy những loại dữ liệu nào trong bộ dữ liệu của bạn, đã đến lúc có được cái nhìn tổng quan về các giá trị mà mỗi cột chứa. Bạn có thể làm điều này với

$ conda install requests pandas matplotlib
03:

Hàm này cho bạn thấy một số thống kê mô tả cơ bản cho tất cả các cột số:

Hướng dẫn what is dataset and dataframe in python? - tập dữ liệu và khung dữ liệu trong python là gì?

$ conda install requests pandas matplotlib
03 Chỉ phân tích các cột số theo mặc định, nhưng bạn có thể cung cấp các loại dữ liệu khác nếu bạn sử dụng tham số
$ conda install requests pandas matplotlib
05:

>>>

>>> import numpy as np
>>> nba.describe(include=object)

$ conda install requests pandas matplotlib
03 won đã cố gắng tính toán một giá trị trung bình hoặc độ lệch chuẩn cho các cột
>>> nba.loc[nba["fran_id"] == "Lakers", "team_id"].value_counts()
LAL    5078
MNL     946
Name: team_id, dtype: int64
7, vì chúng chủ yếu bao gồm các chuỗi văn bản. Tuy nhiên, nó vẫn sẽ hiển thị một số thống kê mô tả:

Hướng dẫn what is dataset and dataframe in python? - tập dữ liệu và khung dữ liệu trong python là gì?

Hãy xem các cột

$ conda install requests pandas matplotlib
08 và
$ conda install requests pandas matplotlib
09. Bộ dữ liệu của bạn chứa 104 ID nhóm khác nhau, nhưng chỉ có 53 ID nhượng quyền khác nhau. Hơn nữa, ID nhóm thường xuyên nhất là
$ conda install requests pandas matplotlib
10, nhưng ID nhượng quyền thường xuyên nhất
$ conda install requests pandas matplotlib
11. Làm thế nào là có thể? Bạn cần phải khám phá bộ dữ liệu của mình thêm một chút để trả lời câu hỏi này.

Khám phá bộ dữ liệu của bạn

Phân tích dữ liệu khám phá có thể giúp bạn trả lời các câu hỏi về bộ dữ liệu của bạn. Ví dụ: bạn có thể kiểm tra tần suất các giá trị cụ thể xảy ra trong một cột: can help you answer questions about your dataset. For example, you can examine how often specific values occur in a column:

>>>

>>> nba["team_id"].value_counts()
BOS    5997
NYK    5769
LAL    5078
...
SDS      11
>>> nba["fran_id"].value_counts()
Name: team_id, Length: 104, dtype: int64
Lakers          6024
Celtics         5997
Knicks          5769
...
Huskies           60
Name: fran_id, dtype: int64

$ conda install requests pandas matplotlib
03 won đã cố gắng tính toán một giá trị trung bình hoặc độ lệch chuẩn cho các cột
>>> nba.loc[nba["fran_id"] == "Lakers", "team_id"].value_counts()
LAL    5078
MNL     946
Name: team_id, dtype: int64
7, vì chúng chủ yếu bao gồm các chuỗi văn bản. Tuy nhiên, nó vẫn sẽ hiển thị một số thống kê mô tả:

>>>

>>> nba.loc[nba["fran_id"] == "Lakers", "team_id"].value_counts()
LAL    5078
MNL     946
Name: team_id, dtype: int64

$ conda install requests pandas matplotlib
03 won đã cố gắng tính toán một giá trị trung bình hoặc độ lệch chuẩn cho các cột
>>> nba.loc[nba["fran_id"] == "Lakers", "team_id"].value_counts()
LAL    5078
MNL     946
Name: team_id, dtype: int64
7, vì chúng chủ yếu bao gồm các chuỗi văn bản. Tuy nhiên, nó vẫn sẽ hiển thị một số thống kê mô tả:

>>>

$ conda install requests pandas matplotlib
0

$ conda install requests pandas matplotlib
03 won đã cố gắng tính toán một giá trị trung bình hoặc độ lệch chuẩn cho các cột
>>> nba.loc[nba["fran_id"] == "Lakers", "team_id"].value_counts()
LAL    5078
MNL     946
Name: team_id, dtype: int64
7, vì chúng chủ yếu bao gồm các chuỗi văn bản. Tuy nhiên, nó vẫn sẽ hiển thị một số thống kê mô tả:

Hãy xem các cột

$ conda install requests pandas matplotlib
08 và
$ conda install requests pandas matplotlib
09. Bộ dữ liệu của bạn chứa 104 ID nhóm khác nhau, nhưng chỉ có 53 ID nhượng quyền khác nhau. Hơn nữa, ID nhóm thường xuyên nhất là
$ conda install requests pandas matplotlib
10, nhưng ID nhượng quyền thường xuyên nhất
$ conda install requests pandas matplotlib
11. Làm thế nào là có thể? Bạn cần phải khám phá bộ dữ liệu của mình thêm một chút để trả lời câu hỏi này.

Khám phá bộ dữ liệu của bạn

>>>

$ conda install requests pandas matplotlib
1

$ conda install requests pandas matplotlib
03 won đã cố gắng tính toán một giá trị trung bình hoặc độ lệch chuẩn cho các cột
>>> nba.loc[nba["fran_id"] == "Lakers", "team_id"].value_counts()
LAL    5078
MNL     946
Name: team_id, dtype: int64
7, vì chúng chủ yếu bao gồm các chuỗi văn bản. Tuy nhiên, nó vẫn sẽ hiển thị một số thống kê mô tả:

Hãy xem các cột

$ conda install requests pandas matplotlib
08 và
$ conda install requests pandas matplotlib
09. Bộ dữ liệu của bạn chứa 104 ID nhóm khác nhau, nhưng chỉ có 53 ID nhượng quyền khác nhau. Hơn nữa, ID nhóm thường xuyên nhất là
$ conda install requests pandas matplotlib
10, nhưng ID nhượng quyền thường xuyên nhất
$ conda install requests pandas matplotlib
11. Làm thế nào là có thể? Bạn cần phải khám phá bộ dữ liệu của mình thêm một chút để trả lời câu hỏi này.

Khám phá bộ dữ liệu của bạn

Phân tích dữ liệu khám phá có thể giúp bạn trả lời các câu hỏi về bộ dữ liệu của bạn. Ví dụ: bạn có thể kiểm tra tần suất các giá trị cụ thể xảy ra trong một cột:

Có vẻ như một đội tên $ conda install requests pandas matplotlib 12 đã chơi 6024 trò chơi, nhưng chỉ có 5078 trong số đó được chơi bởi Los Angeles Lakers. Tìm ra nhóm $ conda install requests pandas matplotlib 12 khác là ai:

Thật vậy, Minneapolis Lakers (

$ conda install requests pandas matplotlib
14) đã chơi 946 trận. Bạn thậm chí có thể tìm hiểu khi họ chơi những trò chơi đó. Đối với điều đó, trước tiên, bạn sẽ xác định một cột chuyển đổi giá trị của
$ conda install requests pandas matplotlib
15 thành kiểu dữ liệu
$ conda install requests pandas matplotlib
16. Sau đó, bạn có thể sử dụng các chức năng tổng hợp
$ conda install requests pandas matplotlib
17 và
$ conda install requests pandas matplotlib
18, để tìm các trò chơi đầu tiên và cuối cùng của Minneapolis Lakers:
$ conda install requests pandas matplotlib
26
objects. Create a new
$ conda install requests pandas matplotlib
27 object based on a list:

>>>

$ conda install requests pandas matplotlib
2

Bạn đã sử dụng danh sách

$ conda install requests pandas matplotlib
28 để tạo đối tượng
$ conda install requests pandas matplotlib
27 được gọi là
$ conda install requests pandas matplotlib
30. Đối tượng
$ conda install requests pandas matplotlib
27 kết thúc hai thành phần:

  1. Một chuỗi các giá trịvalues
  2. Một chuỗi các định danh, là chỉ mụcidentifiers, which is the index

Bạn có thể truy cập các thành phần này với

$ conda install requests pandas matplotlib
32 và
$ conda install requests pandas matplotlib
33, tương ứng:

>>>

$ conda install requests pandas matplotlib
3

$ conda install requests pandas matplotlib
34 Trả về các giá trị trong
$ conda install requests pandas matplotlib
27, trong khi
$ conda install requests pandas matplotlib
36 trả về chỉ số vị trí.

Trong khi Pandas xây dựng trên Numpy, một sự khác biệt đáng kể là trong việc lập chỉ mục của chúng. Giống như một mảng numpy, một gấu trúc

$ conda install requests pandas matplotlib
27 cũng có một chỉ số số nguyên mà Lừa được xác định ngầm. Chỉ số ngầm này chỉ ra vị trí phần tử trong
$ conda install requests pandas matplotlib
27.indexing. Just like a NumPy array, a Pandas
$ conda install requests pandas matplotlib
27 also has an integer index that’s implicitly defined. This implicit index indicates the element’s position in the
$ conda install requests pandas matplotlib
27.

Tuy nhiên, một

$ conda install requests pandas matplotlib
27 cũng có thể có một loại chỉ mục tùy ý. Bạn có thể nghĩ về chỉ mục rõ ràng này như là nhãn cho một hàng cụ thể:

>>>

$ conda install requests pandas matplotlib
4

Ở đây, chỉ số là một danh sách các tên thành phố được đại diện bởi các chuỗi. Bạn có thể nhận thấy rằng từ điển Python cũng sử dụng các chỉ số chuỗi, và đây là một sự tương tự tiện dụng để ghi nhớ! Bạn có thể sử dụng các khối mã ở trên để phân biệt giữa hai loại

$ conda install requests pandas matplotlib
27:

  1. $ conda install requests pandas matplotlib
    
    30:
    $ conda install requests pandas matplotlib
    
    27 này hoạt động giống như một danh sách Python vì nó chỉ có chỉ số vị trí.
    This
    $ conda install requests pandas matplotlib
    
    27 behaves like a Python list because it only has a positional index.
  2. $ conda install requests pandas matplotlib
    
    43:
    $ conda install requests pandas matplotlib
    
    27 này hoạt động giống như một từ điển Python vì nó có cả chỉ số vị trí và nhãn.
    This
    $ conda install requests pandas matplotlib
    
    27 acts like a Python dictionary because it features both a positional and a label index.

Tại đây, cách xây dựng một

$ conda install requests pandas matplotlib
27 với một chỉ mục nhãn từ từ điển Python:

>>>

$ conda install requests pandas matplotlib
5

Các khóa từ điển trở thành chỉ mục và các giá trị từ điển là các giá trị

$ conda install requests pandas matplotlib
27.

Giống như từ điển,

$ conda install requests pandas matplotlib
27 cũng hỗ trợ
$ conda install requests pandas matplotlib
48 và từ khóa
$ conda install requests pandas matplotlib
49:

>>>

$ conda install requests pandas matplotlib
6

Bạn có thể sử dụng các phương pháp này để trả lời các câu hỏi về bộ dữ liệu của bạn một cách nhanh chóng.

Hiểu các đối tượng DataFrame

Mặc dù

$ conda install requests pandas matplotlib
27 là một cấu trúc dữ liệu khá mạnh mẽ, nhưng nó có những hạn chế. Ví dụ: bạn chỉ có thể lưu trữ một thuộc tính cho mỗi khóa. Như bạn đã thấy với bộ dữ liệu
>>> nba["team_id"].value_counts()
BOS    5997
NYK    5769
LAL    5078
...
SDS      11
>>> nba["fran_id"].value_counts()
Name: team_id, Length: 104, dtype: int64
Lakers          6024
Celtics         5997
Knicks          5769
...
Huskies           60
Name: fran_id, dtype: int64
0, có 23 cột, thư viện Pandas Python có nhiều hơn để cung cấp với
>>> import numpy as np
>>> nba.describe(include=object)
9. Cấu trúc dữ liệu này là một chuỗi các đối tượng
$ conda install requests pandas matplotlib
27 có chung chỉ số.
>>> import numpy as np
>>> nba.describe(include=object)
9
. This data structure is a sequence of
$ conda install requests pandas matplotlib
27 objects that share the same index.

Nếu bạn đã theo dõi cùng với các ví dụ

$ conda install requests pandas matplotlib
27, thì bạn đã có hai đối tượng
$ conda install requests pandas matplotlib
27 với các thành phố làm khóa:

  1. $ conda install requests pandas matplotlib
    
    43
  2. $ conda install requests pandas matplotlib
    
    57

Bạn có thể kết hợp các đối tượng này thành

>>> import numpy as np
>>> nba.describe(include=object)
9 bằng cách cung cấp một từ điển trong hàm tạo. Các phím từ điển sẽ trở thành tên cột và các giá trị phải chứa các đối tượng
$ conda install requests pandas matplotlib
27:

>>>

$ conda install requests pandas matplotlib
7

Lưu ý cách gấu trúc thay thế giá trị

$ conda install requests pandas matplotlib
60 bị thiếu cho Toronto với
$ conda install requests pandas matplotlib
61.

Chỉ số

>>> import numpy as np
>>> nba.describe(include=object)
9 mới là kết hợp của hai chỉ số
$ conda install requests pandas matplotlib
27:

>>>

$ conda install requests pandas matplotlib
8

Giống như

$ conda install requests pandas matplotlib
27,
>>> import numpy as np
>>> nba.describe(include=object)
9 cũng lưu trữ các giá trị của nó trong một mảng numpy:

>>>

$ conda install requests pandas matplotlib
9

Bạn cũng có thể tham khảo 2 chiều của

>>> import numpy as np
>>> nba.describe(include=object)
9 dưới dạng trục:axes:

>>>

import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
0

Trục được đánh dấu bằng 0 là chỉ số hàng và trục được đánh dấu bằng 1 là chỉ mục cột. Thuật ngữ này rất quan trọng để biết bởi vì bạn sẽ gặp một số phương thức

>>> import numpy as np
>>> nba.describe(include=object)
9 chấp nhận tham số
$ conda install requests pandas matplotlib
68.row index, and the axis marked with 1 is the column index. This terminology is important to know because you’ll encounter several
>>> import numpy as np
>>> nba.describe(include=object)
9 methods that accept an
$ conda install requests pandas matplotlib
68 parameter.

Một

>>> import numpy as np
>>> nba.describe(include=object)
9 cũng là một cấu trúc dữ liệu giống như từ điển, do đó, nó cũng hỗ trợ từ khóa
$ conda install requests pandas matplotlib
48 và
$ conda install requests pandas matplotlib
49. Tuy nhiên, đối với
>>> import numpy as np
>>> nba.describe(include=object)
9, những don don này liên quan đến chỉ mục, nhưng với các cột:

>>>

import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
1

Bạn có thể thấy các khái niệm này hoạt động với bộ dữ liệu NBA lớn hơn. Nó có chứa một cột được gọi là

$ conda install requests pandas matplotlib
73, hoặc nó được gọi là
$ conda install requests pandas matplotlib
74? Để trả lời câu hỏi này, hãy hiển thị chỉ mục và các trục của bộ dữ liệu
>>> nba["team_id"].value_counts()
BOS    5997
NYK    5769
LAL    5078
...
SDS      11
>>> nba["fran_id"].value_counts()
Name: team_id, Length: 104, dtype: int64
Lakers          6024
Celtics         5997
Knicks          5769
...
Huskies           60
Name: fran_id, dtype: int64
0, sau đó mở rộng khối mã bên dưới để biết giải pháp:

Bởi vì bạn đã chỉ định một cột chỉ mục khi bạn đọc trong tệp CSV, Pandas đã gán một

$ conda install requests pandas matplotlib
76 cho
>>> import numpy as np
>>> nba.describe(include=object)
9:

>>>

import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
2

>>> nba["team_id"].value_counts()
BOS    5997
NYK    5769
LAL    5078
...
SDS      11
>>> nba["fran_id"].value_counts()
Name: team_id, Length: 104, dtype: int64
Lakers          6024
Celtics         5997
Knicks          5769
...
Huskies           60
Name: fran_id, dtype: int64
0, giống như tất cả các đối tượng
>>> import numpy as np
>>> nba.describe(include=object)
9, có hai trục:

>>>

import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
3

Bạn có thể kiểm tra sự tồn tại của một cột với

$ conda install requests pandas matplotlib
48:

>>>

import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
4

Cột được gọi là

$ conda install requests pandas matplotlib
74, không phải
$ conda install requests pandas matplotlib
73.

Khi bạn sử dụng các phương pháp này để trả lời các câu hỏi về bộ dữ liệu của bạn, hãy nhớ lưu ý rằng liệu bạn có làm việc với

$ conda install requests pandas matplotlib
27 hay
>>> import numpy as np
>>> nba.describe(include=object)
9 để cách giải thích của bạn là chính xác.

Truy cập các yếu tố loạt

Trong phần trên, bạn đã tạo ra một gấu trúc

$ conda install requests pandas matplotlib
27 dựa trên danh sách Python và so sánh hai cấu trúc dữ liệu. Bạn đã thấy cách một đối tượng
$ conda install requests pandas matplotlib
27 tương tự như danh sách và từ điển theo nhiều cách. Một điểm tương đồng hơn nữa là bạn cũng có thể sử dụng toán tử lập chỉ mục (
$ conda install requests pandas matplotlib
87) cho
$ conda install requests pandas matplotlib
27.indexing operator (
$ conda install requests pandas matplotlib
87) for
$ conda install requests pandas matplotlib
27 as well.

Bạn cũng sẽ học cách sử dụng hai phương pháp truy cập cụ thể của Pandas:access methods:

  1. $ conda install requests pandas matplotlib
    
    89
  2. $ conda install requests pandas matplotlib
    
    90

Bạn có thể thấy rằng các phương thức truy cập dữ liệu này có thể dễ đọc hơn nhiều so với toán tử lập chỉ mục.

Sử dụng toán tử lập chỉ mục

Hãy nhớ lại rằng

$ conda install requests pandas matplotlib
27 có hai chỉ số:

  1. Một chỉ số vị trí hoặc tiềm ẩn, luôn luôn là
    $ conda install requests pandas matplotlib
    
    76
    , which is always a
    $ conda install requests pandas matplotlib
    
    76
  2. Một nhãn hoặc chỉ mục rõ ràng, có thể chứa bất kỳ đối tượng có thể băm nào, which can contain any hashable objects

Tiếp theo, xem lại đối tượng

$ conda install requests pandas matplotlib
43:

>>>

import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
5

Bạn có thể truy cập một cách thuận tiện các giá trị trong

$ conda install requests pandas matplotlib
27 với cả nhãn và chỉ số vị trí:

>>>

import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
6

Bạn có thể truy cập một cách thuận tiện các giá trị trong

$ conda install requests pandas matplotlib
27 với cả nhãn và chỉ số vị trí:

>>>

import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
7

Bạn có thể truy cập một cách thuận tiện các giá trị trong

$ conda install requests pandas matplotlib
27 với cả nhãn và chỉ số vị trí:

Bạn cũng có thể sử dụng các chỉ số và lát cắt âm, giống như bạn làm cho một danh sách:

Nếu bạn muốn tìm hiểu thêm về khả năng của toán tử lập chỉ mục, thì hãy xem danh sách và bộ dữ liệu trong Python.

>>>

import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
8

Bạn có thể truy cập một cách thuận tiện các giá trị trong

$ conda install requests pandas matplotlib
27 với cả nhãn và chỉ số vị trí:

Bạn cũng có thể sử dụng các chỉ số và lát cắt âm, giống như bạn làm cho một danh sách:data access methods:

  1. Nếu bạn muốn tìm hiểu thêm về khả năng của toán tử lập chỉ mục, thì hãy xem danh sách và bộ dữ liệu trong Python. refers to the label index.
  2. Sử dụng
    $ conda install requests pandas matplotlib
    
    89 và
    $ conda install requests pandas matplotlib
    
    90
    refers to the positional index.

Toán tử lập chỉ mục (

$ conda install requests pandas matplotlib
87) thuận tiện, nhưng có một cảnh báo. Điều gì sẽ xảy ra nếu các nhãn cũng là số? Giả sử bạn phải làm việc với một đối tượng
$ conda install requests pandas matplotlib
27 như thế này:

>>>

import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
9

Bạn có thể truy cập một cách thuận tiện các giá trị trong

$ conda install requests pandas matplotlib
27 với cả nhãn và chỉ số vị trí:

Bạn cũng có thể sử dụng các chỉ số và lát cắt âm, giống như bạn làm cho một danh sách:

Hướng dẫn what is dataset and dataframe in python? - tập dữ liệu và khung dữ liệu trong python là gì?

Nếu bạn muốn tìm hiểu thêm về khả năng của toán tử lập chỉ mục, thì hãy xem danh sách và bộ dữ liệu trong Python.

Sử dụng

$ conda install requests pandas matplotlib
89 và
$ conda install requests pandas matplotlib
90

Toán tử lập chỉ mục (

$ conda install requests pandas matplotlib
87) thuận tiện, nhưng có một cảnh báo. Điều gì sẽ xảy ra nếu các nhãn cũng là số? Giả sử bạn phải làm việc với một đối tượng
$ conda install requests pandas matplotlib
27 như thế này:

>>>

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
0

Bạn có thể truy cập một cách thuận tiện các giá trị trong

$ conda install requests pandas matplotlib
27 với cả nhãn và chỉ số vị trí:positional indices of
import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
08 and
import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
24. The closing item
import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
25 with a positional index of
import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
26 is excluded.

Bạn cũng có thể sử dụng các chỉ số và lát cắt âm, giống như bạn làm cho một danh sách:

>>>

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
1

Bạn có thể truy cập một cách thuận tiện các giá trị trong

$ conda install requests pandas matplotlib
27 với cả nhãn và chỉ số vị trí:label index between
import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
26 and
import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
29. Here, the closing item
import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
30 has a label index of
import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
29 and is included in the output.

Bạn cũng có thể sử dụng các chỉ số và lát cắt âm, giống như bạn làm cho một danh sách:

>>>

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
2

Bạn có thể truy cập một cách thuận tiện các giá trị trong

$ conda install requests pandas matplotlib
27 với cả nhãn và chỉ số vị trí:

Bạn cũng có thể sử dụng các chỉ số và lát cắt âm, giống như bạn làm cho một danh sách:

  1. Nếu bạn muốn tìm hiểu thêm về khả năng của toán tử lập chỉ mục, thì hãy xem danh sách và bộ dữ liệu trong Python.list.
  2. Sử dụng
    $ conda install requests pandas matplotlib
    
    89 và
    $ conda install requests pandas matplotlib
    
    90dictionary.

Toán tử lập chỉ mục (

$ conda install requests pandas matplotlib
87) thuận tiện, nhưng có một cảnh báo. Điều gì sẽ xảy ra nếu các nhãn cũng là số? Giả sử bạn phải làm việc với một đối tượng
$ conda install requests pandas matplotlib
27 như thế này:

$ conda install requests pandas matplotlib 99 sẽ trở lại là gì? Đối với một chỉ số vị trí, $ conda install requests pandas matplotlib 99 là import requests download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv" target_csv_path = "nba_all_elo.csv" response = requests.get(download_url) response.raise_for_status() # Check that the request was successful with open(target_csv_path, "wb") as f: f.write(response.content) print("Download ready.") 01. Tuy nhiên, nếu bạn đi theo chỉ mục nhãn, thì $ conda install requests pandas matplotlib 99 sẽ đề cập đến import requests download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv" target_csv_path = "nba_all_elo.csv" response = requests.get(download_url) response.raise_for_status() # Check that the request was successful with open(target_csv_path, "wb") as f: f.write(response.content) print("Download ready.") 03.

Tin tốt là, bạn không cần phải tìm ra nó! Thay vào đó, để tránh nhầm lẫn, thư viện Pandas Python cung cấp hai phương thức truy cập dữ liệu:dimension of the

>>> import numpy as np
>>> nba.describe(include=object)
9. You’ll use the indexing operator for the columns and the access methods
$ conda install requests pandas matplotlib
89 and
$ conda install requests pandas matplotlib
90 on the rows.

$ conda install requests pandas matplotlib 89 đề cập đến chỉ mục nhãn.

$ conda install requests pandas matplotlib
90 đề cập đến chỉ số vị trí.

>>>

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
3

Các phương pháp truy cập dữ liệu này dễ đọc hơn nhiều:

import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
06 đã trả về
import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
03, phần tử với nhãn
import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
08.
import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
09 đã trả về
import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
01, phần tử có chỉ mục
import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
08.

>>>

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
4

Hình dưới đây cho thấy các phần tử nào

$ conda install requests pandas matplotlib
89 và
$ conda install requests pandas matplotlib
90 Tham khảo:

Một lần nữa,

$ conda install requests pandas matplotlib
89 chỉ vào chỉ mục nhãn ở phía bên phải của hình ảnh. Trong khi đó,
$ conda install requests pandas matplotlib
90 điểm vào chỉ số vị trí ở phía bên trái của hình ảnh.

>>>

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
5

Nó dễ dàng hơn để ghi nhớ sự khác biệt giữa

$ conda install requests pandas matplotlib
89 và
$ conda install requests pandas matplotlib
90 so với việc tìm ra toán tử lập chỉ mục sẽ quay lại. Ngay cả khi bạn quen thuộc với tất cả các kỳ quặc của toán tử lập chỉ mục, có thể rất nguy hiểm khi cho rằng tất cả những người đọc mã của bạn cũng đã nội bộ hóa các quy tắc đó!

Bạn cũng có thể sử dụng các chỉ số và lát cắt âm, giống như bạn làm cho một danh sách:

Tương tự như

$ conda install requests pandas matplotlib
27,
>>> import numpy as np
>>> nba.describe(include=object)
9 cũng cung cấp các phương thức truy cập dữ liệu
$ conda install requests pandas matplotlib
89 và
$ conda install requests pandas matplotlib
90. Hãy nhớ rằng,
$ conda install requests pandas matplotlib
89 sử dụng nhãn và
$ conda install requests pandas matplotlib
90 Chỉ số vị trí:data access methods. Remember,
$ conda install requests pandas matplotlib
89 uses the label and
$ conda install requests pandas matplotlib
90 the positional index:

>>>

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
6

Mỗi dòng mã chọn một hàng khác nhau từ

import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
65:

  1. import requests
    
    download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
    target_csv_path = "nba_all_elo.csv"
    
    response = requests.get(download_url)
    response.raise_for_status()    # Check that the request was successful
    with open(target_csv_path, "wb") as f:
        f.write(response.content)
    print("Download ready.")
    
    66 chọn hàng với chỉ mục nhãn
    import requests
    
    download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
    target_csv_path = "nba_all_elo.csv"
    
    response = requests.get(download_url)
    response.raise_for_status()    # Check that the request was successful
    with open(target_csv_path, "wb") as f:
        f.write(response.content)
    print("Download ready.")
    
    67.
    selects the row with the label index
    import requests
    
    download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
    target_csv_path = "nba_all_elo.csv"
    
    response = requests.get(download_url)
    response.raise_for_status()    # Check that the request was successful
    with open(target_csv_path, "wb") as f:
        f.write(response.content)
    print("Download ready.")
    
    67.
  2. import requests
    
    download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
    target_csv_path = "nba_all_elo.csv"
    
    response = requests.get(download_url)
    response.raise_for_status()    # Check that the request was successful
    with open(target_csv_path, "wb") as f:
        f.write(response.content)
    print("Download ready.")
    
    68 chọn các hàng với các chỉ số nhãn từ
    import requests
    
    download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
    target_csv_path = "nba_all_elo.csv"
    
    response = requests.get(download_url)
    response.raise_for_status()    # Check that the request was successful
    with open(target_csv_path, "wb") as f:
        f.write(response.content)
    print("Download ready.")
    
    69 đến
    import requests
    
    download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
    target_csv_path = "nba_all_elo.csv"
    
    response = requests.get(download_url)
    response.raise_for_status()    # Check that the request was successful
    with open(target_csv_path, "wb") as f:
        f.write(response.content)
    print("Download ready.")
    
    70. Hãy nhớ rằng,
    $ conda install requests pandas matplotlib
    
    89 là bao gồm.
    selects the rows with label indices from
    import requests
    
    download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
    target_csv_path = "nba_all_elo.csv"
    
    response = requests.get(download_url)
    response.raise_for_status()    # Check that the request was successful
    with open(target_csv_path, "wb") as f:
        f.write(response.content)
    print("Download ready.")
    
    69 to
    import requests
    
    download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
    target_csv_path = "nba_all_elo.csv"
    
    response = requests.get(download_url)
    response.raise_for_status()    # Check that the request was successful
    with open(target_csv_path, "wb") as f:
        f.write(response.content)
    print("Download ready.")
    
    70. Remember,
    $ conda install requests pandas matplotlib
    
    89 is inclusive.
  3. import requests
    
    download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
    target_csv_path = "nba_all_elo.csv"
    
    response = requests.get(download_url)
    response.raise_for_status()    # Check that the request was successful
    with open(target_csv_path, "wb") as f:
        f.write(response.content)
    print("Download ready.")
    
    72 chọn hàng với chỉ số vị trí
    import requests
    
    download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
    target_csv_path = "nba_all_elo.csv"
    
    response = requests.get(download_url)
    response.raise_for_status()    # Check that the request was successful
    with open(target_csv_path, "wb") as f:
        f.write(response.content)
    print("Download ready.")
    
    08, đó là
    import requests
    
    download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
    target_csv_path = "nba_all_elo.csv"
    
    response = requests.get(download_url)
    response.raise_for_status()    # Check that the request was successful
    with open(target_csv_path, "wb") as f:
        f.write(response.content)
    print("Download ready.")
    
    69.
    selects the row with the positional index
    import requests
    
    download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
    target_csv_path = "nba_all_elo.csv"
    
    response = requests.get(download_url)
    response.raise_for_status()    # Check that the request was successful
    with open(target_csv_path, "wb") as f:
        f.write(response.content)
    print("Download ready.")
    
    08, which is
    import requests
    
    download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
    target_csv_path = "nba_all_elo.csv"
    
    response = requests.get(download_url)
    response.raise_for_status()    # Check that the request was successful
    with open(target_csv_path, "wb") as f:
        f.write(response.content)
    print("Download ready.")
    
    69.

Được rồi, bạn đã sử dụng

$ conda install requests pandas matplotlib
89 và
$ conda install requests pandas matplotlib
90 trên các cấu trúc dữ liệu nhỏ. Bây giờ, nó thời gian để thực hành với một cái gì đó lớn hơn! Sử dụng phương thức truy cập dữ liệu để hiển thị hàng thứ hai đến cuối của bộ dữ liệu
>>> nba["team_id"].value_counts()
BOS    5997
NYK    5769
LAL    5078
...
SDS      11
>>> nba["fran_id"].value_counts()
Name: team_id, Length: 104, dtype: int64
Lakers          6024
Celtics         5997
Knicks          5769
...
Huskies           60
Name: fran_id, dtype: int64
0. Sau đó, mở rộng khối mã bên dưới để xem giải pháp:

Hàng thứ hai đến cuối cùng là hàng với chỉ số vị trí của

import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
78. Bạn có thể hiển thị nó với
$ conda install requests pandas matplotlib
90:positional index of
import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
78. You can display it with
$ conda install requests pandas matplotlib
90:

>>>

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
7

Mỗi dòng mã chọn một hàng khác nhau từ

import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
65:

import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
66 chọn hàng với chỉ mục nhãn
import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
67.subset of rows and columns from your
>>> import numpy as np
>>> nba.describe(include=object)
9:

>>>

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
8

Mỗi dòng mã chọn một hàng khác nhau từ

import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
65:

import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
66 chọn hàng với chỉ mục nhãn
import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
67.

import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
68 chọn các hàng với các chỉ số nhãn từ
import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
69 đến
import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
70. Hãy nhớ rằng,
$ conda install requests pandas matplotlib
89 là bao gồm.

>>>

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
9

import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
72 chọn hàng với chỉ số vị trí
import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
08, đó là
import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
69.

Được rồi, bạn đã sử dụng

$ conda install requests pandas matplotlib
89 và
$ conda install requests pandas matplotlib
90 trên các cấu trúc dữ liệu nhỏ. Bây giờ, nó thời gian để thực hành với một cái gì đó lớn hơn! Sử dụng phương thức truy cập dữ liệu để hiển thị hàng thứ hai đến cuối của bộ dữ liệu
>>> nba["team_id"].value_counts()
BOS    5997
NYK    5769
LAL    5078
...
SDS      11
>>> nba["fran_id"].value_counts()
Name: team_id, Length: 104, dtype: int64
Lakers          6024
Celtics         5997
Knicks          5769
...
Huskies           60
Name: fran_id, dtype: int64
0. Sau đó, mở rộng khối mã bên dưới để xem giải pháp:

Hướng dẫn what is dataset and dataframe in python? - tập dữ liệu và khung dữ liệu trong python là gì?

Hàng thứ hai đến cuối cùng là hàng với chỉ số vị trí của

import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
78. Bạn có thể hiển thị nó với
$ conda install requests pandas matplotlib
90:

Bạn sẽ thấy đầu ra là đối tượng

$ conda install requests pandas matplotlib
27.

Đối với >>> import numpy as np >>> nba.describe(include=object) 9, các phương thức truy cập dữ liệu $ conda install requests pandas matplotlib 89 và $ conda install requests pandas matplotlib 90 cũng chấp nhận tham số thứ hai. Mặc dù tham số đầu tiên chọn các hàng dựa trên các chỉ số, tham số thứ hai chọn các cột. Bạn có thể sử dụng các tham số này với nhau để chọn một tập hợp con của các hàng và cột từ >>> import numpy as np >>> nba.describe(include=object) 9 của bạn:

Lưu ý rằng bạn tách các tham số bằng dấu phẩy (

import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
85). Tham số đầu tiên,
import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
86 cho biết để chọn tất cả các hàng giữa hai nhãn đó. Tham số thứ hai xuất hiện sau dấu phẩy và nói để chọn cột
import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
49.query your data. For example, you can create a new
>>> import numpy as np
>>> nba.describe(include=object)
9 that contains only games played after 2010:

>>>

>>> len(nba)
126314
>>> nba.shape
(126314, 23)
0

Đó là thời gian để thấy cấu trúc tương tự hoạt động với bộ dữ liệu

>>> nba["team_id"].value_counts()
BOS    5997
NYK    5769
LAL    5078
...
SDS      11
>>> nba["fran_id"].value_counts()
Name: team_id, Length: 104, dtype: int64
Lakers          6024
Celtics         5997
Knicks          5769
...
Huskies           60
Name: fran_id, dtype: int64
0 lớn hơn. Chọn tất cả các trò chơi giữa các nhãn
import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
89 và
import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
90. Bạn chỉ quan tâm đến tên của các đội và điểm số, vì vậy cũng chọn các yếu tố đó. Mở rộng khối mã bên dưới để xem giải pháp:

Đầu tiên, xác định các hàng bạn muốn xem, sau đó liệt kê các cột có liên quan:

>>>

>>> len(nba)
126314
>>> nba.shape
(126314, 23)
1

Bạn sử dụng

$ conda install requests pandas matplotlib
89 cho chỉ mục nhãn và dấu phẩy (
import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
85) để tách hai tham số của bạn.

Bạn sẽ thấy một phần nhỏ trong bộ dữ liệu khá lớn của bạn:

>>>

>>> len(nba)
126314
>>> nba.shape
(126314, 23)
2

Đầu ra dễ đọc hơn nhiều!

Với các phương thức truy cập dữ liệu như

$ conda install requests pandas matplotlib
89 và
$ conda install requests pandas matplotlib
90, bạn có thể chọn đúng tập hợp con phù hợp của
>>> import numpy as np
>>> nba.describe(include=object)
9 để giúp bạn trả lời các câu hỏi về bộ dữ liệu của mình.

Truy vấn dữ liệu của bạn

>>>

>>> len(nba)
126314
>>> nba.shape
(126314, 23)
3

Bạn đã thấy cách truy cập các tập hợp con của một bộ dữ liệu khổng lồ dựa trên các chỉ số của nó. Bây giờ, bạn sẽ chọn các hàng dựa trên các giá trị trong các cột dữ liệu của bạn để truy vấn dữ liệu của bạn. Ví dụ: bạn có thể tạo một

>>> import numpy as np
>>> nba.describe(include=object)
9 mới chỉ chứa các trò chơi sau năm 2010:

Bây giờ bạn có 24 cột, nhưng

>>> import numpy as np
>>> nba.describe(include=object)
9 mới của bạn chỉ bao gồm các hàng trong đó giá trị trong cột
import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
98 lớn hơn
import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
99.

Hướng dẫn what is dataset and dataframe in python? - tập dữ liệu và khung dữ liệu trong python là gì?

Bạn cũng có thể chọn các hàng trong đó một trường cụ thể không phải là NULL:

Điều này có thể hữu ích nếu bạn muốn tránh bất kỳ giá trị bị thiếu trong một cột. Bạn cũng có thể sử dụng

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
00 để đạt được mục tiêu tương tự.

>>>

>>> len(nba)
126314
>>> nba.shape
(126314, 23)
4

Bạn thậm chí có thể truy cập các giá trị của kiểu dữ liệu

>>> nba.loc[nba["fran_id"] == "Lakers", "team_id"].value_counts()
LAL    5078
MNL     946
Name: team_id, dtype: int64
7 dưới dạng
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
02 và thực hiện các phương thức chuỗi trên chúng:

Hướng dẫn what is dataset and dataframe in python? - tập dữ liệu và khung dữ liệu trong python là gì?

Bạn sử dụng

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
03 để lọc bộ dữ liệu của mình và tìm tất cả các trò chơi trong đó tên của nhóm nhà kết thúc bằng
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
04.

Bạn cũng có thể kết hợp nhiều tiêu chí và truy vấn dữ liệu của bạn. Để làm điều này, hãy chắc chắn đặt từng cái vào dấu ngoặc đơn và sử dụng các toán tử logic

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
05 và
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
06 để tách chúng ra.

Thực hiện tìm kiếm các trò chơi Baltimore, nơi cả hai đội ghi được hơn 100 điểm. Để chỉ xem từng trò chơi một lần, bạn sẽ cần loại trừ các bản sao:

Ở đây, bạn sử dụng

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
07 để chỉ bao gồm các mục mà aren bản sao.grouping and aggregation functions to help you accomplish this task.

Đầu ra của bạn phải chứa năm trò chơi đầy đủ:

>>>

>>> len(nba)
126314
>>> nba.shape
(126314, 23)
5

Phương thức đầu tiên trả về tổng số

$ conda install requests pandas matplotlib
43, trong khi phương pháp thứ hai trả về giá trị tối đa. Có những phương pháp khác bạn có thể sử dụng, như
$ conda install requests pandas matplotlib
20 và
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
14.

Hãy nhớ rằng, một cột của

>>> import numpy as np
>>> nba.describe(include=object)
9 thực sự là một đối tượng
$ conda install requests pandas matplotlib
27. Vì lý do này, bạn có thể sử dụng các chức năng tương tự trên các cột của
>>> nba["team_id"].value_counts()
BOS    5997
NYK    5769
LAL    5078
...
SDS      11
>>> nba["fran_id"].value_counts()
Name: team_id, Length: 104, dtype: int64
Lakers          6024
Celtics         5997
Knicks          5769
...
Huskies           60
Name: fran_id, dtype: int64
0:

>>>

>>> len(nba)
126314
>>> nba.shape
(126314, 23)
6

A

>>> import numpy as np
>>> nba.describe(include=object)
9 có thể có nhiều cột, giới thiệu các khả năng mới cho các tập hợp, như nhóm:grouping:

>>>

>>> len(nba)
126314
>>> nba.shape
(126314, 23)
7

Theo mặc định, Pandas sắp xếp các khóa nhóm trong quá trình gọi đến

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
19. Nếu bạn không muốn sắp xếp, thì hãy vượt qua
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
20. Tham số này có thể dẫn đến mức tăng hiệu suất.

Bạn cũng có thể nhóm theo nhiều cột:

>>>

>>> len(nba)
126314
>>> nba.shape
(126314, 23)
8

Bạn có thể thực hành những điều cơ bản này với một bài tập. Hãy xem mùa giải Golden State Warriors 2014-15 (

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
21). Họ đã ghi được bao nhiêu chiến thắng và thua trong mùa giải thông thường và playoffs? Mở rộng khối mã bên dưới cho giải pháp:

Đầu tiên, bạn có thể nhóm theo trường

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
22, sau đó là kết quả:

>>>

>>> len(nba)
126314
>>> nba.shape
(126314, 23)
9

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
23 cho thấy kết quả cho mùa giải thông thường và
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
24 cho thấy kết quả cho vòng playoffs.

Trong các ví dụ trên, bạn chỉ làm trầy xước bề mặt của các hàm tổng hợp có sẵn cho bạn trong thư viện Pandas Python. Để xem thêm các ví dụ về cách sử dụng chúng, hãy xem Pandas Groupby: Hướng dẫn của bạn để nhóm dữ liệu trong Python.

Thao tác cột

Bạn cần phải biết cách thao tác các cột dữ liệu của bạn trong các giai đoạn khác nhau của quy trình phân tích dữ liệu. Bạn có thể thêm và thả các cột như là một phần của giai đoạn làm sạch dữ liệu ban đầu, hoặc sau đó dựa trên những hiểu biết về phân tích của bạn.manipulate your dataset’s columns in different phases of the data analysis process. You can add and drop columns as part of the initial data cleaning phase, or later based on the insights of your analysis.

Tạo một bản sao của

>>> import numpy as np
>>> nba.describe(include=object)
9 ban đầu của bạn để làm việc với:

>>>

>>> pd.set_option("display.max.columns", None)
0

Bạn có thể xác định các cột mới dựa trên các cột hiện có:

>>>

>>> pd.set_option("display.max.columns", None)
1

Tại đây, bạn đã sử dụng các cột

$ conda install requests pandas matplotlib
74 và
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
27 để tạo một cột mới gọi là
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
28. Cột mới này có các chức năng giống như các chức năng cũ:

>>>

>>> pd.set_option("display.max.columns", None)
2

Ở đây, bạn đã sử dụng hàm tổng hợp

$ conda install requests pandas matplotlib
21 để tìm giá trị lớn nhất của cột mới của bạn.

Bạn cũng có thể đổi tên các cột của bộ dữ liệu của bạn. Có vẻ như

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
30 và
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
31 quá dài dòng, vì vậy hãy tiếp tục và đổi tên chúng ngay bây giờ:

>>>

>>> pd.set_option("display.max.columns", None)
3

Lưu ý rằng có một đối tượng mới,

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
32. Giống như một số phương thức thao tác dữ liệu khác,
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
33 trả về một
>>> import numpy as np
>>> nba.describe(include=object)
9 mới theo mặc định. Nếu bạn muốn điều khiển trực tiếp
>>> import numpy as np
>>> nba.describe(include=object)
9 gốc, thì
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
33 cũng cung cấp một tham số
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
37 mà bạn có thể đặt thành
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
38.

Bộ dữ liệu của bạn có thể chứa các cột mà bạn không cần. Ví dụ, xếp hạng ELO có thể là một khái niệm hấp dẫn đối với một số người, nhưng bạn đã giành được phân tích chúng trong hướng dẫn này. Bạn có thể xóa bốn cột liên quan đến ELO:

>>>

>>> pd.set_option("display.max.columns", None)
4

Hãy nhớ rằng, bạn đã thêm cột mới

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
28 trong một ví dụ trước, đưa tổng số cột lên 25. Khi bạn loại bỏ bốn cột ELO, tổng số cột giảm xuống còn 21.

Chỉ định các loại dữ liệu

Khi bạn tạo một

>>> import numpy as np
>>> nba.describe(include=object)
9 mới, bằng cách gọi một hàm tạo hoặc đọc tệp CSV, Pandas gán một loại dữ liệu cho mỗi cột dựa trên các giá trị của nó. Mặc dù nó làm một công việc khá tốt, nhưng nó không hoàn hảo. Nếu bạn chọn loại dữ liệu phù hợp cho các cột của mình lên phía trước, thì bạn có thể cải thiện đáng kể hiệu suất mã của bạn.data type to each column based on its values. While it does a pretty good job, it’s not perfect. If you choose the right data type for your columns up front, then you can significantly improve your code’s performance.

Hãy xem một cái khác về các cột của bộ dữ liệu

>>> nba["team_id"].value_counts()
BOS    5997
NYK    5769
LAL    5078
...
SDS      11
>>> nba["fran_id"].value_counts()
Name: team_id, Length: 104, dtype: int64
Lakers          6024
Celtics         5997
Knicks          5769
...
Huskies           60
Name: fran_id, dtype: int64
0:

Bạn sẽ thấy đầu ra giống như trước đây:

Hướng dẫn what is dataset and dataframe in python? - tập dữ liệu và khung dữ liệu trong python là gì?

Mười cột của bạn có kiểu dữ liệu

>>> nba.loc[nba["fran_id"] == "Lakers", "team_id"].value_counts()
LAL    5078
MNL     946
Name: team_id, dtype: int64
7. Hầu hết các cột
>>> nba.loc[nba["fran_id"] == "Lakers", "team_id"].value_counts()
LAL    5078
MNL     946
Name: team_id, dtype: int64
7 này chứa văn bản tùy ý, nhưng cũng có một số ứng cử viên để chuyển đổi kiểu dữ liệu. Ví dụ: hãy xem cột
$ conda install requests pandas matplotlib
15:conversion. For example, take a look at the
$ conda install requests pandas matplotlib
15 column:

>>>

>>> pd.set_option("display.max.columns", None)
5

Ở đây, bạn sử dụng

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
45 để chỉ định tất cả các ngày trò chơi dưới dạng đối tượng
$ conda install requests pandas matplotlib
16.

Các cột khác chứa văn bản có cấu trúc hơn một chút. Cột

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
47 chỉ có ba giá trị khác nhau:

>>>

>>> pd.set_option("display.max.columns", None)
6

Bạn sẽ sử dụng kiểu dữ liệu nào trong cơ sở dữ liệu quan hệ cho một cột như vậy? Bạn có thể sẽ không sử dụng loại

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
48, mà là
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
49. Pandas cung cấp loại dữ liệu
>>> nba.loc[nba["fran_id"] == "Lakers", "team_id"].value_counts()
LAL    5078
MNL     946
Name: team_id, dtype: int64
8 cho cùng một mục đích:

>>>

>>> pd.set_option("display.max.columns", None)
7

>>> nba.loc[nba["fran_id"] == "Lakers", "team_id"].value_counts()
LAL    5078
MNL     946
Name: team_id, dtype: int64
8 Dữ liệu có một vài lợi thế so với văn bản phi cấu trúc. Khi bạn chỉ định kiểu dữ liệu
>>> nba.loc[nba["fran_id"] == "Lakers", "team_id"].value_counts()
LAL    5078
MNL     946
Name: team_id, dtype: int64
8, bạn sẽ xác thực dễ dàng hơn và tiết kiệm một tấn bộ nhớ, vì gấu trúc sẽ chỉ sử dụng các giá trị duy nhất bên trong. Tỷ lệ của tổng giá trị so với các giá trị duy nhất, bạn sẽ có nhiều tiết kiệm không gian mà bạn sẽ nhận được.
has a few advantages over unstructured text. When you specify the
>>> nba.loc[nba["fran_id"] == "Lakers", "team_id"].value_counts()
LAL    5078
MNL     946
Name: team_id, dtype: int64
8 data type, you make validation easier and save a ton of memory, as Pandas will only use the unique values internally. The higher the ratio of total values to unique values, the more space savings you’ll get.

Chạy lại

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
53. Bạn sẽ thấy rằng việc thay đổi loại dữ liệu
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
47 từ
>>> nba.loc[nba["fran_id"] == "Lakers", "team_id"].value_counts()
LAL    5078
MNL     946
Name: team_id, dtype: int64
7 thành
>>> nba.loc[nba["fran_id"] == "Lakers", "team_id"].value_counts()
LAL    5078
MNL     946
Name: team_id, dtype: int64
8 đã giảm việc sử dụng bộ nhớ.

Bạn thường gặp các bộ dữ liệu với quá nhiều cột văn bản. Một kỹ năng thiết yếu cho các nhà khoa học dữ liệu có khả năng phát hiện các cột mà họ có thể chuyển đổi thành loại dữ liệu hiệu suất hơn.

Hãy dành một chút thời gian để thực hành điều này ngay bây giờ. Tìm một cột khác trong bộ dữ liệu

>>> nba["team_id"].value_counts()
BOS    5997
NYK    5769
LAL    5078
...
SDS      11
>>> nba["fran_id"].value_counts()
Name: team_id, Length: 104, dtype: int64
Lakers          6024
Celtics         5997
Knicks          5769
...
Huskies           60
Name: fran_id, dtype: int64
0 có kiểu dữ liệu chung và chuyển đổi nó thành một loại cụ thể hơn. Bạn có thể mở rộng khối mã bên dưới để xem một giải pháp tiềm năng:

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
58 chỉ có thể lấy hai giá trị khác nhau:

>>>

>>> pd.set_option("display.max.columns", None)
8

Để cải thiện hiệu suất, bạn có thể chuyển đổi nó thành cột

>>> nba.loc[nba["fran_id"] == "Lakers", "team_id"].value_counts()
LAL    5078
MNL     946
Name: team_id, dtype: int64
8:

>>>

>>> pd.set_option("display.max.columns", None)
9

Để cải thiện hiệu suất, bạn có thể chuyển đổi nó thành cột

>>> nba.loc[nba["fran_id"] == "Lakers", "team_id"].value_counts()
LAL    5078
MNL     946
Name: team_id, dtype: int64
8:

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

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
53 để kiểm tra việc sử dụng bộ nhớ.performance in mind as you continue to explore your datasets.

Khi bạn làm việc với các bộ dữ liệu lớn hơn, tiết kiệm bộ nhớ trở nên đặc biệt quan trọng. Hãy chắc chắn để ghi nhớ hiệu suất khi bạn tiếp tục khám phá bộ dữ liệu của bạn.

Dữ liệu làm sạch

Bạn có thể ngạc nhiên khi thấy phần này quá muộn trong hướng dẫn! Thông thường, bạn có một cái nhìn quan trọng về bộ dữ liệu của mình để khắc phục mọi vấn đề trước khi bạn chuyển sang phân tích tinh vi hơn. Tuy nhiên, trong hướng dẫn này, bạn sẽ dựa vào các kỹ thuật mà bạn đã học được trong các phần trước để làm sạch bộ dữ liệu của bạn.

Giá trị bị mấtNull values often indicate a problem in the data-gathering process. They can make several analysis techniques, like different types of machine learning, difficult or even impossible.

Bạn đã bao giờ tự hỏi tại sao

>>> nba.loc[nba["fran_id"] == "Lakers", "team_id"].value_counts()
LAL    5078
MNL     946
Name: team_id, dtype: int64
4 cho thấy có bao nhiêu giá trị không null mà một cột chứa? Lý do tại sao đây là thông tin quan trọng. Các giá trị null thường chỉ ra một vấn đề trong quá trình thu thập dữ liệu. Họ có thể thực hiện một số kỹ thuật phân tích, như các loại học máy khác nhau, khó khăn hoặc thậm chí là không thể.

Hướng dẫn what is dataset and dataframe in python? - tập dữ liệu và khung dữ liệu trong python là gì?

Khi bạn kiểm tra bộ dữ liệu

>>> nba["team_id"].value_counts()
BOS    5997
NYK    5769
LAL    5078
...
SDS      11
>>> nba["fran_id"].value_counts()
Name: team_id, Length: 104, dtype: int64
Lakers          6024
Celtics         5997
Knicks          5769
...
Huskies           60
Name: fran_id, dtype: int64
0 với
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
63, bạn sẽ thấy rằng nó khá gọn gàng. Chỉ cột
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
64 chứa các giá trị null cho phần lớn các hàng của nó:

Đầu ra này cho thấy cột

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
64 chỉ có 5424 giá trị không null. Điều đó có nghĩa là hơn 120.000 hàng tập dữ liệu của bạn có các giá trị null trong cột này.

>>>

>>> pd.set_option("display.precision", 2)
0

Để cải thiện hiệu suất, bạn có thể chuyển đổi nó thành cột

>>> nba.loc[nba["fran_id"] == "Lakers", "team_id"].value_counts()
LAL    5078
MNL     946
Name: team_id, dtype: int64
8:

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

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
53 để kiểm tra việc sử dụng bộ nhớ.

>>>

>>> pd.set_option("display.precision", 2)
1

Để cải thiện hiệu suất, bạn có thể chuyển đổi nó thành cột

>>> nba.loc[nba["fran_id"] == "Lakers", "team_id"].value_counts()
LAL    5078
MNL     946
Name: team_id, dtype: int64
8:

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

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
53 để kiểm tra việc sử dụng bộ nhớ.

>>>

>>> pd.set_option("display.precision", 2)
2

Để cải thiện hiệu suất, bạn có thể chuyển đổi nó thành cột

>>> nba.loc[nba["fran_id"] == "Lakers", "team_id"].value_counts()
LAL    5078
MNL     946
Name: team_id, dtype: int64
8:

Bạn có thể sử dụng >>> import pandas as pd >>> nba = pd.read_csv("nba_all_elo.csv") >>> type(nba) <class 'pandas.core.frame.DataFrame'> 53 để kiểm tra việc sử dụng bộ nhớ.

Khi bạn làm việc với các bộ dữ liệu lớn hơn, tiết kiệm bộ nhớ trở nên đặc biệt quan trọng. Hãy chắc chắn để ghi nhớ hiệu suất khi bạn tiếp tục khám phá bộ dữ liệu của bạn. can be even more dangerous than missing values. Often, you can perform your data analysis as expected, but the results you get are peculiar. This is especially important if your dataset is enormous or used manual entry. Invalid values are often more challenging to detect, but you can implement some sanity checks with queries and aggregations.

Dữ liệu làm sạch

Hướng dẫn what is dataset and dataframe in python? - tập dữ liệu và khung dữ liệu trong python là gì?

Bạn có thể ngạc nhiên khi thấy phần này quá muộn trong hướng dẫn! Thông thường, bạn có một cái nhìn quan trọng về bộ dữ liệu của mình để khắc phục mọi vấn đề trước khi bạn chuyển sang phân tích tinh vi hơn. Tuy nhiên, trong hướng dẫn này, bạn sẽ dựa vào các kỹ thuật mà bạn đã học được trong các phần trước để làm sạch bộ dữ liệu của bạn.

Giá trị bị mất

>>>

>>> pd.set_option("display.precision", 2)
3

Bạn đã bao giờ tự hỏi tại sao

>>> nba.loc[nba["fran_id"] == "Lakers", "team_id"].value_counts()
LAL    5078
MNL     946
Name: team_id, dtype: int64
4 cho thấy có bao nhiêu giá trị không null mà một cột chứa? Lý do tại sao đây là thông tin quan trọng. Các giá trị null thường chỉ ra một vấn đề trong quá trình thu thập dữ liệu. Họ có thể thực hiện một số kỹ thuật phân tích, như các loại học máy khác nhau, khó khăn hoặc thậm chí là không thể.

Hướng dẫn what is dataset and dataframe in python? - tập dữ liệu và khung dữ liệu trong python là gì?

Khi bạn kiểm tra bộ dữ liệu

>>> nba["team_id"].value_counts()
BOS    5997
NYK    5769
LAL    5078
...
SDS      11
>>> nba["fran_id"].value_counts()
Name: team_id, Length: 104, dtype: int64
Lakers          6024
Celtics         5997
Knicks          5769
...
Huskies           60
Name: fran_id, dtype: int64
0 với
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
63, bạn sẽ thấy rằng nó khá gọn gàng. Chỉ cột
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
64 chứa các giá trị null cho phần lớn các hàng của nó:

Đầu ra này cho thấy cột >>> import pandas as pd >>> nba = pd.read_csv("nba_all_elo.csv") >>> type(nba) <class 'pandas.core.frame.DataFrame'> 64 chỉ có 5424 giá trị không null. Điều đó có nghĩa là hơn 120.000 hàng tập dữ liệu của bạn có các giá trị null trong cột này.

Đôi khi, cách dễ nhất để đối phó với các hồ sơ có chứa các giá trị bị thiếu là bỏ qua chúng. Bạn có thể xóa tất cả các hàng có giá trị bị thiếu bằng

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
66:

Tất nhiên, loại làm sạch dữ liệu này không có ý nghĩa đối với bộ dữ liệu

>>> nba["team_id"].value_counts()
BOS    5997
NYK    5769
LAL    5078
...
SDS      11
>>> nba["fran_id"].value_counts()
Name: team_id, Length: 104, dtype: int64
Lakers          6024
Celtics         5997
Knicks          5769
...
Huskies           60
Name: fran_id, dtype: int64
0 của bạn, bởi vì nó không phải là vấn đề đối với một trò chơi thiếu ghi chú. Nhưng nếu bộ dữ liệu của bạn chứa một triệu hồ sơ hợp lệ và một trăm dữ liệu liên quan bị thiếu, thì việc bỏ các bản ghi không đầy đủ có thể là một giải pháp hợp lý.

>>>

>>> pd.set_option("display.precision", 2)
4

Bạn cũng có thể bỏ các cột có vấn đề nếu chúng không liên quan đến phân tích của bạn. Để làm điều này, hãy sử dụng

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
66 một lần nữa và cung cấp tham số
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
69:

Bây giờ, kết quả

>>> import numpy as np
>>> nba.describe(include=object)
9 chứa tất cả 126.314 trò chơi, nhưng không phải là cột
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
64 đôi khi trống.

Nếu có một giá trị mặc định có ý nghĩa cho trường hợp sử dụng của bạn, thì bạn cũng có thể thay thế các giá trị bị thiếu bằng đó:

Tại đây, bạn điền vào các hàng

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
64 trống với chuỗi
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
73.combine them into one dataset that’s ready for analysis.

Trước đó, bạn đã kết hợp hai đối tượng

$ conda install requests pandas matplotlib
27 thành
>>> import numpy as np
>>> nba.describe(include=object)
9 dựa trên các chỉ số của chúng. Bây giờ, bạn sẽ tiến thêm một bước và sử dụng
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
85 để kết hợp
import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
65 với một
>>> import numpy as np
>>> nba.describe(include=object)
9 khác. Giả sử bạn đã quản lý để thu thập một số dữ liệu về hai thành phố khác:

>>>

>>> pd.set_option("display.precision", 2)
5

>>> import numpy as np
>>> nba.describe(include=object)
9 thứ hai này chứa thông tin về các thành phố
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
89 và
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
90.

Bạn có thể thêm các thành phố này vào

import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
65 bằng cách sử dụng
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
85:

>>>

>>> pd.set_option("display.precision", 2)
6

>>> import numpy as np
>>> nba.describe(include=object)
9 thứ hai này chứa thông tin về các thành phố
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
89 và
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
90.

Bạn có thể thêm các thành phố này vào

import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
65 bằng cách sử dụng
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
85:

>>>

>>> pd.set_option("display.precision", 2)
7

>>> import numpy as np
>>> nba.describe(include=object)
9 thứ hai này chứa thông tin về các thành phố
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
89 và
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
90.

>>>

>>> pd.set_option("display.precision", 2)
8

>>> import numpy as np
>>> nba.describe(include=object)
9 thứ hai này chứa thông tin về các thành phố
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
89 và
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
90.

>>>

>>> pd.set_option("display.precision", 2)
9

>>> import numpy as np
>>> nba.describe(include=object)
9 thứ hai này chứa thông tin về các thành phố
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
89 và
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
90.

Hướng dẫn what is dataset and dataframe in python? - tập dữ liệu và khung dữ liệu trong python là gì?

Bạn có thể thêm các thành phố này vào

import requests

download_url = "https://raw.githubusercontent.com/fivethirtyeight/data/master/nba-elo/nbaallelo.csv"
target_csv_path = "nba_all_elo.csv"

response = requests.get(download_url)
response.raise_for_status()    # Check that the request was successful
with open(target_csv_path, "wb") as f:
    f.write(response.content)
print("Download ready.")
65 bằng cách sử dụng
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
85:

Bây giờ, biến mới

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
93 chứa các giá trị từ cả hai đối tượng
>>> import numpy as np
>>> nba.describe(include=object)
9.

>>>

>>> import numpy as np
>>> nba.describe(include=object)
0

Theo mặc định,

>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
95 kết hợp dọc theo
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
96. Nói cách khác, nó nối các hàng. Bạn cũng có thể sử dụng nó để nối các cột bằng cách cung cấp tham số
>>> import pandas as pd
>>> nba = pd.read_csv("nba_all_elo.csv")
>>> type(nba)
<class 'pandas.core.frame.DataFrame'>
69:

Hướng dẫn what is dataset and dataframe in python? - tập dữ liệu và khung dữ liệu trong python là gì?

Lưu ý cách gấu trúc thêm

$ conda install requests pandas matplotlib
61 cho các giá trị bị thiếu. Nếu bạn chỉ muốn kết hợp các thành phố xuất hiện trong cả hai đối tượng
>>> import numpy as np
>>> nba.describe(include=object)
9, thì bạn có thể đặt tham số
>>> len(nba)
126314
>>> nba.shape
(126314, 23)
00 thành
>>> len(nba)
126314
>>> nba.shape
(126314, 23)
01:

Mặc dù nó đơn giản nhất để kết hợp dữ liệu dựa trên chỉ mục, nhưng nó không phải là khả năng duy nhất. Bạn có thể sử dụng >>> len(nba) 126314 >>> nba.shape (126314, 23) 02 để thực hiện thao tác tham gia tương tự như từ SQL:

Tại đây, bạn chuyển tham số

>>> len(nba)
126314
>>> nba.shape
(126314, 23)
03 sang
>>> len(nba)
126314
>>> nba.shape
(126314, 23)
02 để cho biết cột bạn muốn tham gia. Kết quả là
>>> import numpy as np
>>> nba.describe(include=object)
9 lớn hơn không chỉ chứa dữ liệu thành phố, mà cả dân số và lục địa của các quốc gia tương ứng:
is one of the things that works much better in a Jupyter notebook than in a terminal, so go ahead and fire one up. If you need help getting started, then check out Jupyter Notebook: An Introduction. You can also access the Jupyter notebook that contains the examples from this tutorial by clicking the link below:

Lưu ý rằng kết quả chỉ chứa các thành phố nơi đất nước được biết đến và xuất hiện trong

>>> import numpy as np
>>> nba.describe(include=object)
9 được tham gia.

>>>

>>> import numpy as np
>>> nba.describe(include=object)
1

>>> len(nba)
126314
>>> nba.shape
(126314, 23)
02 thực hiện tham gia bên trong theo mặc định. Nếu bạn muốn đưa tất cả các thành phố vào kết quả, thì bạn cần cung cấp tham số
>>> len(nba)
126314
>>> nba.shape
(126314, 23)
08:line plot. Visualize how many points the Knicks scored throughout the seasons:

>>>

>>> import numpy as np
>>> nba.describe(include=object)
2

Với sự tham gia

>>> len(nba)
126314
>>> nba.shape
(126314, 23)
09 này, bạn sẽ thấy tất cả các thành phố, bao gồm cả những thành phố không có dữ liệu quốc gia:

Hướng dẫn what is dataset and dataframe in python? - tập dữ liệu và khung dữ liệu trong python là gì?

Chào mừng trở lại, New York & Barcelona!bar plot:

>>>

>>> import numpy as np
>>> nba.describe(include=object)
3

Trực quan hóa DataFrame của bạn

Hướng dẫn what is dataset and dataframe in python? - tập dữ liệu và khung dữ liệu trong python là gì?

Trực quan hóa dữ liệu là một trong những điều hoạt động tốt hơn nhiều trong một máy tính xách tay Jupyter so với trong một thiết bị đầu cuối, vì vậy hãy tiếp tục và kích hoạt một chiếc. Nếu bạn cần trợ giúp bắt đầu, sau đó xem Jupyter Notebook: Giới thiệu. Bạn cũng có thể truy cập sổ ghi chép Jupyter có chứa các ví dụ từ hướng dẫn này bằng cách nhấp vào liên kết bên dưới:

Bao gồm dòng này để hiển thị các sơ đồ trực tiếp trong sổ ghi chép:

Cả hai đối tượng

$ conda install requests pandas matplotlib
27 và
>>> import numpy as np
>>> nba.describe(include=object)
9 đều có phương thức
>>> len(nba)
126314
>>> nba.shape
(126314, 23)
12, là một trình bao bọc xung quanh
>>> len(nba)
126314
>>> nba.shape
(126314, 23)
13. Theo mặc định, nó tạo ra một âm mưu dòng. Trực quan hóa bao nhiêu điểm mà Knicks ghi được trong suốt các mùa:

>>>

>>> import numpy as np
>>> nba.describe(include=object)
4

Điều này cho thấy một âm mưu dòng với một số đỉnh và hai thung lũng đáng chú ý vào khoảng năm 2000 và 2010:

Hướng dẫn what is dataset and dataframe in python? - tập dữ liệu và khung dữ liệu trong python là gì?

Bạn cũng có thể tạo các loại lô khác, như một lô thanh:

Điều này sẽ cho thấy các nhượng quyền thương mại với nhiều trò chơi được chơi nhiều nhất:

Lakers đang dẫn đầu Celtics bởi một cạnh tối thiểu, và có sáu đội tiếp theo với số lượng trò chơi trên 5000.

Bây giờ hãy thử một bài tập phức tạp hơn. Năm 2013, Miami Heat đã giành chức vô địch. Tạo một cốt truyện cho thấy số lượng chiến thắng và thua lỗ của họ trong mùa giải đó. Sau đó, mở rộng khối mã để xem giải pháp:exploring a dataset with the Pandas Python library. You saw how you could access specific rows and columns to tame even the largest of datasets. Speaking of taming, you’ve also seen multiple techniques to prepare and clean your data, by specifying the data type of columns, dealing with missing values, and more. You’ve even created queries, aggregations, and plots based on those.

Đầu tiên, bạn xác định một tiêu chí chỉ bao gồm các trò chơi Heat Heat từ năm 2013. Sau đó, bạn tạo ra một cốt truyện theo cách tương tự như bạn đã thấy ở trên:

  • Ở đây, những gì một chiếc bánh vô địch trông như thế nào:
  • Các lát chiến thắng lớn hơn đáng kể so với lát thua lỗ!
  • Đôi khi, các con số tự nói lên, nhưng thường là một biểu đồ giúp rất nhiều với việc truyền đạt những hiểu biết của bạn. Để tìm hiểu thêm về trực quan hóa dữ liệu của bạn, hãy xem trực quan hóa dữ liệu tương tác trong Python với Bokeh.
  • Sự kết luận
  • Trong hướng dẫn này, bạn đã học cách bắt đầu khám phá một bộ dữ liệu với thư viện Pandas Python. Bạn đã thấy cách bạn có thể truy cập các hàng và cột cụ thể để chế ngự ngay cả các bộ dữ liệu lớn nhất. Nói về việc thuần hóa, bạn cũng đã thấy nhiều kỹ thuật để chuẩn bị và làm sạch dữ liệu của bạn, bằng cách chỉ định loại dữ liệu của cột, xử lý các giá trị bị thiếu và hơn thế nữa. Bạn thậm chí đã tạo ra các truy vấn, tập hợp và âm mưu dựa trên những câu hỏi đó.

Bây giờ bạn có thể:

Làm việc với các đối tượng

$ conda install requests pandas matplotlib
27 và
>>> import numpy as np
>>> nba.describe(include=object)
9

Xem bây giờ hướng dẫn này có một khóa học video liên quan được tạo bởi nhóm Python thực sự. Xem cùng với hướng dẫn bằng văn bản để hiểu sâu hơn về sự hiểu biết của bạn: Khám phá bộ dữ liệu của bạn với gấu trúc This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Explore Your Dataset With Pandas

Dataset Python là gì?

Một bộ dữ liệu là thùng chứa dữ liệu cơ bản trong PYMVPA. Nó đóng vai trò là hình thức lưu trữ dữ liệu chính, nhưng cũng là một thùng chứa phổ biến cho kết quả được trả về bởi hầu hết các thuật toán.the basic data container in PyMVPA. It serves as the primary form of data storage, but also as a common container for results returned by most algorithms.

DataFrame có phải là bộ dữ liệu không?

Trong scala và java, một khung dữ liệu được thể hiện bằng một bộ dữ liệu của hàng s. Trong API Scala, DataFrame chỉ đơn giản là một bí danh của tập dữ liệu [hàng]. Trong khi, trong API Java, người dùng cần sử dụng tập dữ liệu để biểu diễn DataFrame. Trong suốt tài liệu này, chúng tôi thường sẽ đề cập đến các bộ dữ liệu Scala/Java của hàng S là DataFrames.. In the Scala API, DataFrame is simply a type alias of Dataset[Row] . While, in Java API, users need to use Dataset to represent a DataFrame . Throughout this document, we will often refer to Scala/Java Datasets of Row s as DataFrames.

DataSet hay DataFrame có tốt hơn không?

RDD - API RDD chậm hơn để thực hiện các hoạt động nhóm và tổng hợp đơn giản. DataFrame - API DataFrame rất dễ sử dụng. Nó nhanh hơn để phân tích khám phá, tạo ra số liệu thống kê tổng hợp trên các tập dữ liệu lớn. Bộ dữ liệu - Trong tập dữ liệu, việc thực hiện hoạt động tổng hợp trên nhiều tập dữ liệu sẽ nhanh hơn.

DataFrame trong Python với ví dụ là gì?

DataFrame là gì? Một khung dữ liệu gấu trúc là cấu trúc dữ liệu 2 chiều, như mảng 2 chiều hoặc bảng có hàng và cột.a 2 dimensional data structure, like a 2 dimensional array, or a table with rows and columns.

DataFrame là gì?

DataFrame là gì?DataFrame là một cấu trúc dữ liệu tổ chức dữ liệu thành bảng 2 chiều của các hàng và cột, giống như bảng tính.DataFrames là một trong những cấu trúc dữ liệu phổ biến nhất được sử dụng trong các phân tích dữ liệu hiện đại vì chúng là một cách linh hoạt và trực quan để lưu trữ và làm việc với dữ liệu.a data structure that organizes data into a 2-dimensional table of rows and columns, much like a spreadsheet. DataFrames are one of the most common data structures used in modern data analytics because they are a flexible and intuitive way of storing and working with data.

Dataset có nhanh hơn DataFrame không?

DataFrames cung cấp API nhanh chóng để thực hiện các hoạt động tổng hợp.Các RDD chậm hơn cả DataFrames và bộ dữ liệu để thực hiện các hàm đơn giản như nhóm dữ liệu.Bộ dữ liệu nhanh hơn RDD nhưng chậm hơn một chút so với DataFrames.Do đó, nó thực hiện tổng hợp nhanh hơn RDD và bộ dữ liệu.The Dataset is faster than the RDDs but is a bit slower than Dataframes. Hence, it performs aggregation faster than RDD and the Dataset.