Bảng cheat Pandas cho khoa học dữ liệu trong Python

⚡ Tóm tắt thông minh

Bảng tóm tắt các lệnh Pandas cô đọng những lệnh được sử dụng nhiều nhất của thư viện vào một trang duy nhất. Tài liệu tham khảo này nhóm các lệnh theo nhiệm vụ: cài đặt, xây dựng Series và DataFrame, nhập tập tin, chọn hàng, làm sạch dữ liệu, áp dụng hàm và xuất kết quả.

  • 🔘 Hai cấu trúc: Series chứa một chiều dữ liệu được gắn nhãn, trong khi DataFrame chứa hai chiều với các kiểu cột khác nhau.
  • ☑️ Nhập bất cứ thứ gì: Các hàm read_csv, read_excel, read_sql, read_json và read_html dùng để tải các tệp vào một DataFrame.
  • Lựa chọn chính xác: loc chọn theo nhãn, iloc chọn theo vị trí, và boolean masks lọc các hàng theo điều kiện.
  • 🧪 Làm sạch một cách đáng tin cậy: Các phương thức isnull, dropna, fillna, drop_duplicates và replace xử lý các khoảng trống và bản ghi trùng lặp.
  • 🛠️ Kiểm tra nhanh: Xác định hình dạng, thông tin, kiểu dữ liệu và tóm tắt cấu trúc cũng như số liệu thống kê trước khi bắt đầu phân tích.
  • ⚠️ Ghi chú phiên bản: Pandas 3.0 bật tính năng Copy-on-Write theo mặc định, do đó việc gán chuỗi sẽ gây ra lỗi.

Bảng cheat Pandas cho khoa học dữ liệu trong Python

Bảng tóm tắt Pandas là gì?

Thư viện Pandas cung cấp hàng trăm hàm, nhưng chỉ một phần nhỏ trong số đó được sử dụng trong công việc hàng ngày. Bảng tóm tắt Pandas Đây là tài liệu tham khảo một trang liệt kê các lệnh đó, được nhóm theo nhiệm vụ mà chúng thực hiện.

Nội dung bao gồm cấu trúc Series và DataFrame, nhập và xuất tập tin, chọn và sắp xếp dữ liệu, làm sạch giá trị và áp dụng các hàm. Mỗi phần bên dưới đều đi kèm với một lời giải thích ngắn gọn và mã có thể chạy được, vì vậy trang này cũng có thể được dùng để ôn lại kiến ​​thức. kỹ năng phân tích dữ liệu.

👉 Tải xuống bản PDF của Cheat Sheet tại đây

Hướng dẫn cài đặt và nhập Pandas

Hai lệnh dùng để thiết lập Pandas, và cả hai đều chạy trong terminal hoặc cửa sổ dòng lệnh. Jupyter Sổ tay tế bào.

Bước 1) Cài đặt Pandas

Chạy lệnh này một lần cho mỗi môi trường; thêm dấu chấm than vào đầu lệnh trong một ô của sổ tay Jupyter.

pip install pandas

Bước 2) Nhập Pandas

Nhập gói với tên bí danh pd, điều mà mọi ví dụ ở đây đều giả định.

import pandas as pd

Giờ đây bạn có thể gọi các hàm Pandas để thao tác, phân tích và làm sạch dữ liệu. Các phần bên dưới liệt kê chúng theo thứ tự bạn thường sử dụng.

Cấu trúc dữ liệu Pandas

Pandas có hai cấu trúc dữ liệu, Loạt SáchKhung dữ liệuCả hai đều là mảng có nhãn và cả hai đều có thể chứa bất kỳ kiểu dữ liệu nào. Sự khác biệt duy nhất là về chiều: Series là mảng một chiều, còn DataFrame là mảng hai chiều được xây dựng từ... numpy các mảng bên dưới.

Tính năng Loạt Sách Khung dữ liệu
Kích thước Một chiều Hai chiều
Những Đặt Giữ (Holds) Một cột được dán nhãn duy nhất Nhiều cột, kiểu dữ liệu hỗn hợp
xây dựng pd.Series() pd.DataFrame ()

1. Dòng

Đây là một mảng có nhãn một chiều. Nó có thể chứa bất kỳ kiểu dữ liệu nào, và None trở thành giá trị bị thiếu.

s = pd.Series([2, -4, 6, 3, None], index=['A', 'B', 'C', 'D', 'E'])

2. Khung dữ liệu

Đây là một mảng hai chiều có nhãn. Nó có thể chứa bất kỳ kiểu dữ liệu nào và kích thước cột khác nhau.

data = {'RollNo' : [101, 102, 75, 99],
        'Name' : ['Mithlesh', 'Ram', 'Rudra', 'Mithlesh'],
        'Course' : ['Nodejs', None, 'Nodejs', 'JavaScript']
}
df = pd.DataFrame(data, columns=['RollNo', 'Name', 'Course'])
df.head()

Bảng tóm tắt các lệnh có thể in được bên dưới tập hợp các lệnh tương tự trên một trang.

Bảng tóm tắt các lệnh Pandas và Series (có thể in)

Nhập dữ liệu

Pandas có thể đọc nhiều loại tệp trực tiếp vào DataFrame. Mỗi trình đọc bên dưới sẽ trả về một đối tượng, và read_csv () là phương pháp được sử dụng nhiều nhất.

# Import a CSV file pd
pd.read_csv(filename)

# Import a TSV file
pd.read_table(filename)

# Import a Excel file pd
pd.read_excel(filename)

# Import a SQL table/database
pd.read_sql(query, connection_object)

# Import a JSON file
pd.read_json(json_string)

# Import a HTML file
pd.read_html(url)

# From clipboard to read_table()
pd.read_clipboard()

# From dict
pd.DataFrame(dict)

Lựa chọn

Bạn có thể chọn các phần tử theo vị trí hoặc theo nhãn chỉ mục của chúng. Cú pháp dấu ngoặc vuông giống nhau sẽ chọn các hàng, cột và lát cắt từ cả hai cấu trúc.

1. Dòng

# Accessing one element from Series
s['D']

# Accessing all elements between two given indices
s['A':'C']

# Accessing all elements from starting till given index
s[:'C']

# Accessing all elements from given index till end
s['B':]

2. Khung dữ liệu

# Accessing one column df
df['Name']

# Accessing rows from after given row
df[1:]

# Accessing till before given row
df[:1]

# Accessing rows between two given rows
df[1:2]

Chọn theo lập chỉ mục và cài đặt Boolean

Sử dụng ilociat đối với các vị trí số nguyên và locat Dùng cho nhãn.

1. Theo vị trí

df.iloc[0, 1]

df.iat[0, 1]

2. Theo nhãn

df.loc[[0],  ['Name']]

3. Theo Nhãn/Vị trí

df.loc[2] # Both are same
df.iloc[2]

4. Lập chỉ mục Boolean

Mặt nạ boolean chỉ giữ lại những hàng có điều kiện là Đúng. Ví dụ thứ hai bổ sung thêm toán tử NOT. ~Vì vậy, nó cũng trả về các giá trị không lớn hơn 1.

# Series s where value is > 1
s[(s > 0)]

# Series s where value is <-2 or >1
s[(s < -2) | ~(s > 1)]

# Use filter to adjust DataFrame
df[df['RollNo']>100]

# Set index a of Series s to 6
s['D'] = 10
s.head()

Làm sạch dữ liệu

Trong cáp Python mục đích làm sạch dữ liệu, bạn có thể thực hiện các thao tác sau:

  • Đổi tên cột bằng cách sử dụng rename() phương pháp.
  • Cập nhật giá trị bằng cách sử dụng at[] or iat[] Phương pháp truy cập và chỉnh sửa các phần tử cụ thể.
  • Tạo bản sao của Series hoặc DataFrame bằng cách sử dụng copy() phương pháp.
  • Kiểm tra các giá trị NULL bằng cách sử dụng isnull() phương pháp đó, và thả chúng xuống bằng cách sử dụng dropna() phương pháp.
  • Kiểm tra các giá trị trùng lặp bằng cách sử dụng duplicated() phương pháp. Thả chúng xuống bằng cách sử dụng drop_duplicates() phương pháp.
  • Thay thế các giá trị NULL bằng cách sử dụng fillna() phương pháp với giá trị được chỉ định.
  • Thay thế các giá trị bằng cách sử dụng replace() phương pháp.
  • Sắp xếp các giá trị bằng cách sử dụng sort_values() phương pháp.
  • Xếp hạng các giá trị bằng cách sử dụng rank() phương pháp.
# Renaming columns
df.columns = ['a','b','c']
df.head()

# Mass renaming of columns
df = df.rename(columns={'RollNo': 'ID', 'Name': 'Student_Name'})

# Or use this edit in same DataFrame instead of in copy
df.rename(columns={'RollNo': 'ID', 'Name': 'Student_Name'}, inplace=True)
df.head()

# Counting duplicates in a column
df.duplicated(subset='Name')

# Removing entire row that has duplicate in given column
df.drop_duplicates(subset=['Name'])

# You can choose which one keep - by default is first
df.drop_duplicates(subset=['Name'], keep='last')

# Checks for Null Values
s.isnull()

# Checks for non-Null Values - reverse of isnull()
s.notnull()

# Checks for Null Values df
df.isnull()

# Checks for non-Null Values - reverse of isnull()
df.notnull()

# Drops all rows that contain null values
df.dropna()

# Drops all columns that contain null values
df.dropna(axis=1)

# Replaces all null values with 'Guru99'
df.fillna('Guru99')

# Replaces all null values with the mean
s.fillna(s.mean())

# Converts the datatype of the Series to float
s.astype(float)

# Replaces all values equal to 6 with 'Six'
s.replace(6,'Six')

# Replaces all 2 with 'Two' and 6 with 'Six'
s.replace([2,6],['Two','Six'])

# Drop from rows (axis=0)
s.drop(['B',  'D'])

# Drop from columns(axis=1)
df.drop('Name', axis=1)

# Sort by labels with axis
df.sort_index()

# Sort by values with axis
df.sort_values(by='RollNo')

# Ranking entries
df.rank()

# s1 is pointing to same Series as s
s1 = s

# s_copy of s, but not pointing same Series
s_copy = s.copy()

# df1 is pointing to same DataFrame as df
df1 = s

# df_copy of df, but not pointing same DataFrame
df_copy = df.copy()

Lưu ý rằng s1 = s Nó chỉ tạo ra một tên thứ hai cho cùng một đối tượng, chứ không bao giờ tạo bản sao — đó là lý do tại sao copy() theo sau nó.

Lấy thông tin

Bạn có thể thực hiện các thao tác này để truy xuất thông tin:

  • Sử dụng shape Thuộc tính để lấy số hàng và số cột.
  • Sử dụng head() or tail() Phương pháp để lấy một vài hàng đầu hoặc hàng cuối làm mẫu.
  • Sử dụng info(), describe() or dtypes Phương pháp để thu thập thông tin về kiểu dữ liệu, số lượng, giá trị trung bình, độ lệch chuẩn, giá trị nhỏ nhất và lớn nhất.
  • Sử dụng count(), min(), max(), sum(), mean()median() các phương pháp để thu thập thông tin thống kê cụ thể cho các giá trị.
  • Sử dụng loc[] Phương pháp để lấy một hàng.
  • Sử dụng groupby() Phương pháp áp dụng hàm GROUP BY để nhóm các giá trị tương tự trong một cột của DataFrame.

1. Thông tin cơ bản

# Counting all elements in Series
len(s)

# Counting all elements in DataFrame
len(df)

# Prints number of rows and columns in dataframe
df.shape

# Prints first 10 rows by default, if no value set
df.head(10)

# Prints last 10 rows by default, if no value set
df.tail(10)

# For counting non-Null values column-wise
df.count()

# For range of index df
df.index

# For name of attributes/columns
df.columns

# Index, Data Type and Memory information
df.info()

# Datatypes of each column
df.dtypes

# Summary statistics for numerical columns
df.describe()

2. Tóm tắt thông tin

# For adding all values column-wise
df.sum()

# For min column-wise
df.min()

# For max column-wise
df.max()

# For mean value in number column
df.mean()

# For median value in number column
df.median()

# Count non-Null values
s.count()

# Count non-Null values
df.count()

# Return Series of given column
df['Name'].tolist()

# Name of columns
df.columns.tolist()

# Creating subset
df[['Name', 'Course']]

# Return number of values in each group
df.groupby('Name').count()

Áp dụng hàm

apply() Hàm này được áp dụng cho mọi giá trị. Sau đó, các quy tắc căn chỉnh sẽ quyết định điều gì xảy ra khi hai đối tượng chỉ chia sẻ một phần chỉ mục của chúng.

# Define function
f = lambda x: x*5

# Apply this function on given Series - For each value
s.apply(f)

# Apply this function on given DataFrame - For each value
df.apply(f)

1. Căn chỉnh dữ liệu nội bộ

# NA values for indices that don't overlap
s2 = pd.Series([8, -1, 4],  index=['A',  'C',  'D'])
s + s2

2. Số học Operacác thao tác với Phương thức điền

# Fill values that don't overlap
s.add(s2, fill_value=0)

3. Lọc, sắp xếp và nhóm theo

Các chức năng này có thể được sử dụng để lọc, sắp xếp và nhóm.ping Các đối tượng Series và DataFrame.

# Filter rows where column is greater than 100
df[df['RollNo']>100]

# Filter rows where 70 < column < 101
df[(df['RollNo'] > 70) & (df['RollNo'] < 101)]

# Sorts values in ascending order
s.sort_values()

# Sorts values in descending order
s.sort_values(ascending=False)

# Sorts values by RollNo in ascending order
df.sort_values('RollNo')

# Sorts values by RollNo in descending order
df.sort_values('RollNo', ascending=False)

Xuất dữ liệu

Mỗi trình ghi bên dưới đều phản ánh một trình đọc từ phần nhập liệu, do đó một tệp có thể thực hiện quá trình chuyển đổi khứ hồi mà không cần công cụ bổ sung.

# Export as a CSV file df
df.to_csv(filename)

# Export as a Excel file df
df.to_excel(filename)

# Export as a SQL table df
df.to_sql(table_name, connection_object)

# Export as a JSON file
df.to_json(filename)

# Export as a HTML table
df.to_html(filename)

# Write to the clipboard
df.to_clipboard()

Colab của Cheat Sheet

Mọi lệnh ở đây đều có thể chạy được trong sổ tay đi kèm: Bảng cheat gấu trúc – Python cho Khoa học dữ liệu.ipynb.

Câu Hỏi Thường Gặp

Chế độ sao chép khi ghi (Copy-on-Write) luôn được bật, chuỗi sử dụng kiểu dữ liệu str riêng biệt, và phép gán nối tiếp trên bản sao đã lọc sẽ gây ra lỗi ChainedAssignmentError. Thay vào đó, hãy gán thông qua tệp .loc. Mọi lệnh ở đây vẫn chạy trên... pandas 3.0.

pd.merge() thực hiện việc kết hợp dựa trên các khóa được chia sẻ theo cách tương tự như... SQL `join` thực hiện việc này, `df.join()` căn chỉnh theo chỉ mục, và `pd.concat()` xếp chồng các khung. Sử dụng `merge` cho các khóa, `concat` để thêm vào.

df.pivot_table() chuyển các hàng dài thành một lưới tổng hợp rộng, pd.melt() đảo ngược điều đó, và stack() hoặc unstack() di chuyển một cấp giữa chỉ mục và cột.

pd.to_datetime() chuyển đổi văn bản thành datetime64, bộ truy cập .dt hiển thị năm, tháng và ngày trong tuần, và resample() tổng hợp theo ngày, tuần hoặc tháng khi cột đó là chỉ mục.

Các phép toán vector hóa được thực thi trong mã C đã biên dịch trên toàn bộ mảng, trong khi hàm apply() gọi một hàm khác. Python Chức năng này chỉ được thực hiện một lần trên mỗi hàng. Hoán đổiping Việc áp dụng phương thức apply() theo từng hàng cho một biểu thức được vector hóa thường nhanh hơn gấp mười lần.

Trợ lý AI sẽ ánh xạ mô tả đơn giản về kết quả thành các lệnh cụ thể, đề xuất các thao tác groupby, merge hoặc pivot_table cùng với các tham số cần thiết. Hãy kiểm tra đề xuất trên một mẫu nhỏ trước.

Vâng. Trợ lý GitHub Biến các bình luận như "group by course" và "count" thành mã Pandas hoạt động được. JupyterXem kết quả đầu ra như bản nháp và kiểm tra số dòng.

Truyền dtype cho read_csv ()Chuyển đổi các cột văn bản lặp lại thành danh mục, chuyển đổi số thành dạng số bằng pd.to_numeric, và tải từng phần bằng chunksize. df.info() báo cáo dung lượng thực tế.

Tóm tắt bài viết này với: