Trong bài viết này, chúng ta tìm hiểu cách đặt lại chỉ mục trong Pandas DataFrame. Chúng tôi thảo luận về tất cả các trường hợp đặt lại chỉ mục hàng của DataFrame đơn giản và đa cấp
DataFrame là cấu trúc dạng bảng trong thư viện gấu trúc Python. Nó đại diện cho mỗi hàng và cột bằng nhãn. Nhãn hàng được gọi là chỉ mục, trong khi nhãn cột được gọi là chỉ mục/tiêu đề cột
Sau khi thực hiện các thao tác và lọc trên tập dữ liệu lớn, cuối cùng chúng ta cũng có được DataFrame chính xác theo yêu cầu. Nhưng, nó mang chỉ mục của tập dữ liệu gốc. Trong trường hợp như vậy, chúng ta cần đặt lại chỉ mục của DataFrame
Mục lục
- khung dữ liệu. hàm reset_index[]
- Đặt lại chỉ mục để bắt đầu từ 0
- Đặt lại chỉ mục mà không có cột mới
- Đặt lại chỉ mục tại chỗ
- Đặt lại chỉ mục bắt đầu từ 1
- Đặt lại chỉ mục cho phạm vi số
- Đặt lại chỉ mục và thay đổi tên cột
- Đặt lại chỉ mục đa cấp
- Đặt lại chỉ mục theo cấp độ
- Đặt lại chỉ mục và tạo cột mới ở cấp độ
- Đặt lại chỉ mục và đặt tên cho cấp độ khác
Hàm Original DataFrame:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s3 Sam NaN NaN
s4 Harry 19.0 91.54
DataFrame after dropping NA:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s4 Harry 19.0 91.54
DataFrame after resetting index:
index Name Age Marks
0 s1 Joe 20.0 85.10
1 s2 Nat 21.0 77.80
2 s4 Harry 19.0 91.54
2
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s3 Sam NaN NaN
s4 Harry 19.0 91.54
DataFrame after dropping NA:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s4 Harry 19.0 91.54
DataFrame after resetting index:
index Name Age Marks
0 s1 Joe 20.0 85.10
1 s2 Nat 21.0 77.80
2 s4 Harry 19.0 91.54Sau khi thả và lọc các hàng, chức năng này được sử dụng để đặt lại chỉ mục của Khung dữ liệu Python kết quả. Hãy thảo luận chi tiết về cách sử dụng hàm
Original DataFrame:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s3 Sam NaN NaN
s4 Harry 19.0 91.54
DataFrame after dropping NA:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s4 Harry 19.0 91.54
DataFrame after resetting index:
index Name Age Marks
0 s1 Joe 20.0 85.10
1 s2 Nat 21.0 77.80
2 s4 Harry 19.0 91.54
2cú pháp
DataFrame.reset_index[level=None, drop=False, inplace=False, col_level=0, col_fill='']
Thông số
Original DataFrame:
4. Trong DataFrame đa cấp, nó lấy tên cấp hoặc vị trí của Chỉ mục hàng cần được đặt lại. Theo mặc định, nó đặt lại tất cả các cấp trong chỉ mục hàngName Age Marks
s1 Joe 20.0 85.10 s2 Nat 21.0 77.80 s3 Sam NaN NaN s4 Harry 19.0 91.54 DataFrame after dropping NA: Name Age Marks s1 Joe 20.0 85.10 s2 Nat 21.0 77.80 s4 Harry 19.0 91.54 DataFrame after resetting index: index Name Age Marks 0 s1 Joe 20.0 85.10 1 s2 Nat 21.0 77.80 2 s4 Harry 19.0 91.54Original DataFrame:
5. Đó là cờ boolean,Name Age Marks
s1 Joe 20.0 85.10 s2 Nat 21.0 77.80 s3 Sam NaN NaN s4 Harry 19.0 91.54 DataFrame after dropping NA: Name Age Marks s1 Joe 20.0 85.10 s2 Nat 21.0 77.80 s4 Harry 19.0 91.54 DataFrame after resetting index: index Name Age Marks 0 s1 Joe 20.0 85.10 1 s2 Nat 21.0 77.80 2 s4 Harry 19.0 91.54
True – Nó không thêm chỉ mục hàng hiện tại làm cột mới trong DataFrame.
Sai [Mặc định] – Nó thêm chỉ mục hàng hiện tại làm cột mới trong DataFrame.Original DataFrame:
6. Nó được sử dụng để chỉ định trả lại DataFrame mới hay cập nhật DataFrame hiện có. Đó là cờ boolean với giá trị mặc định là SaiName Age Marks
s1 Joe 20.0 85.10 s2 Nat 21.0 77.80 s3 Sam NaN NaN s4 Harry 19.0 91.54 DataFrame after dropping NA: Name Age Marks s1 Joe 20.0 85.10 s2 Nat 21.0 77.80 s4 Harry 19.0 91.54 DataFrame after resetting index: index Name Age Marks 0 s1 Joe 20.0 85.10 1 s2 Nat 21.0 77.80 2 s4 Harry 19.0 91.54Original DataFrame:
7. Trong DataFrame đa cấp, xác định mức tiêu đề cột mà chỉ mục hàng hiện tại được chèn vào. Theo mặc định, nó được chèn vào cấp độ đầu tiênName Age Marks
s1 Joe 20.0 85.10 s2 Nat 21.0 77.80 s3 Sam NaN NaN s4 Harry 19.0 91.54 DataFrame after dropping NA: Name Age Marks s1 Joe 20.0 85.10 s2 Nat 21.0 77.80 s4 Harry 19.0 91.54 DataFrame after resetting index: index Name Age Marks 0 s1 Joe 20.0 85.10 1 s2 Nat 21.0 77.80 2 s4 Harry 19.0 91.54Original DataFrame:
8. Trong DataFrame đa cấp, nếu tiêu đề cột có nhiều cấp, nó sẽ xác định cách các cấp khác được đặt tên.Name Age Marks
s1 Joe 20.0 85.10 s2 Nat 21.0 77.80 s3 Sam NaN NaN s4 Harry 19.0 91.54 DataFrame after dropping NA: Name Age Marks s1 Joe 20.0 85.10 s2 Nat 21.0 77.80 s4 Harry 19.0 91.54 DataFrame after resetting index: index Name Age Marks 0 s1 Joe 20.0 85.10 1 s2 Nat 21.0 77.80 2 s4 Harry 19.0 91.54
Ví dụ: nếu chúng tôi có DataFrame với tiêu đề hai cột ở cấp 0 và 1 và nếu chúng tôi thêm chỉ mục hiện tại làm tiêu đề cột ở cấp 0, chúng tôi có thể chỉ định tiêu đề cột tại .
trả lại
DataFrame với chỉ mục mới hoặc Không có nếu
Original DataFrame:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s3 Sam NaN NaN
s4 Harry 19.0 91.54
DataFrame after dropping NA:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s4 Harry 19.0 91.54
DataFrame after resetting index:
index Name Age Marks
0 s1 Joe 20.0 85.10
1 s2 Nat 21.0 77.80
2 s4 Harry 19.0 91.54
9Đặt lại chỉ mục để bắt đầu từ 0
Cách đặt lại chỉ mục trong DataFrame của gấu trúc
- Tạo khung dữ liệu gấu trúc
Chúng tôi có thể tạo DataFrame từ tệp CSV hoặc
0.import pandas as pd student_dict = {'Name': ['Joe', 'Nat', 'Harry'], 'Age': [20, 21, 19], 'Marks': [85.10, 77.80, 91.54]} # create DataFrame from dict student_df = pd.DataFrame[student_dict, index=['s1', 's2', 's3']] print[student_df] # reset index without new column student_df = student_df.reset_index[drop=True] print[student_df]
- Thao tác DataFrame
Khi chúng tôi thao tác với DataFrame như loại bỏ các giá trị trùng lặp hoặc sắp xếp giá trị, chúng tôi sẽ nhận được DataFrame mới, nhưng nó mang chỉ mục hàng ban đầu.
______91 - Sử dụng Khung dữ liệu. hàm reset_index[]
Chúng tôi có thể sử dụng
Original DataFrame:
2 để đặt lại chỉ mục của DataFrame đã cập nhật. Theo mặc định, nó thêm chỉ mục hàng hiện tại dưới dạng một cột mới có tên là 'chỉ mục' trong DataFrame và nó sẽ tạo chỉ mục hàng mới dưới dạng một dãy số bắt đầu từ 0.Name Age Marks
s1 Joe 20.0 85.10 s2 Nat 21.0 77.80 s3 Sam NaN NaN s4 Harry 19.0 91.54 DataFrame after dropping NA: Name Age Marks s1 Joe 20.0 85.10 s2 Nat 21.0 77.80 s4 Harry 19.0 91.54 DataFrame after resetting index: index Name Age Marks 0 s1 Joe 20.0 85.10 1 s2 Nat 21.0 77.80 2 s4 Harry 19.0 91.54
______93 - Đặt lại chỉ mục mà không cần thêm cột mới
Theo mặc định,
Original DataFrame:
2 thêm chỉ mục hàng hiện tại làm cột mới trong DataFrame. Nếu không muốn thêm cột mới ta có thể sử dụng tham sốName Age Marks
s1 Joe 20.0 85.10 s2 Nat 21.0 77.80 s3 Sam NaN NaN s4 Harry 19.0 91.54 DataFrame after dropping NA: Name Age Marks s1 Joe 20.0 85.10 s2 Nat 21.0 77.80 s4 Harry 19.0 91.54 DataFrame after resetting index: index Name Age Marks 0 s1 Joe 20.0 85.10 1 s2 Nat 21.0 77.80 2 s4 Harry 19.0 91.54Original DataFrame:
5.Name Age Marks
s1 Joe 20.0 85.10 s2 Nat 21.0 77.80 s3 Sam NaN NaN s4 Harry 19.0 91.54 DataFrame after dropping NA: Name Age Marks s1 Joe 20.0 85.10 s2 Nat 21.0 77.80 s4 Harry 19.0 91.54 DataFrame after resetting index: index Name Age Marks 0 s1 Joe 20.0 85.10 1 s2 Nat 21.0 77.80 2 s4 Harry 19.0 91.54
______96 - Đặt lại chỉ mục tại chỗ
Chúng tôi có thể sử dụng tham số
Original DataFrame:
6 để đặt lại chỉ mục trong DataFrame hiện có thay vì tạo một bản sao mới.Name Age Marks
s1 Joe 20.0 85.10 s2 Nat 21.0 77.80 s3 Sam NaN NaN s4 Harry 19.0 91.54 DataFrame after dropping NA: Name Age Marks s1 Joe 20.0 85.10 s2 Nat 21.0 77.80 s4 Harry 19.0 91.54 DataFrame after resetting index: index Name Age Marks 0 s1 Joe 20.0 85.10 1 s2 Nat 21.0 77.80 2 s4 Harry 19.0 91.54
______98
Ví dụ
Chúng tôi có một Khung dữ liệu dành cho sinh viên với chỉ số hàng 's1', 's2'. tương tự như vậy. Nó chứa một hàng có các giá trị bị thiếu mà chúng tôi muốn xóa. Sau khi chúng tôi xóa nó bằng hàm
import pandas as pd
student_dict = {'Name': ['Joe', 'Nat', 'Harry'], 'Age': [20, 21, 19], 'Marks': [85.10, 77.80, 91.54]}
# create DataFrame from dict
student_df = pd.DataFrame[student_dict, index=['s1', 's2', 's3']]
print[student_df]
# reset index without new column
student_df = student_df.reset_index[drop=True]
print[student_df]
9, chỉ mục hàng của nó vẫn như cũ. Nhưng bây giờ, chỉ mục không theo thứ tựTrong trường hợp như vậy, hãy xem cách đặt lại chỉ mục thành chuỗi số bằng cách sử dụng
Original DataFrame:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s3 Sam NaN NaN
s4 Harry 19.0 91.54
DataFrame after dropping NA:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s4 Harry 19.0 91.54
DataFrame after resetting index:
index Name Age Marks
0 s1 Joe 20.0 85.10
1 s2 Nat 21.0 77.80
2 s4 Harry 19.0 91.54
2DataFrame.reset_index[level=None, drop=False, inplace=False, col_level=0, col_fill='']
0đầu ra
Original DataFrame:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s3 Sam NaN NaN
s4 Harry 19.0 91.54
DataFrame after dropping NA:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s4 Harry 19.0 91.54
DataFrame after resetting index:
index Name Age Marks
0 s1 Joe 20.0 85.10
1 s2 Nat 21.0 77.80
2 s4 Harry 19.0 91.54
Đặt lại chỉ mục mà không có cột mới
Theo mặc định,
Original DataFrame:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s3 Sam NaN NaN
s4 Harry 19.0 91.54
DataFrame after dropping NA:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s4 Harry 19.0 91.54
DataFrame after resetting index:
index Name Age Marks
0 s1 Joe 20.0 85.10
1 s2 Nat 21.0 77.80
2 s4 Harry 19.0 91.54
2 thêm chỉ mục hàng hiện tại dưới dạng cột 'chỉ mục' mới trong DataFrame. Nếu chúng ta không muốn thêm cột mới, chúng ta có thể sử dụng tham số drop- Nếu
32 thì nó không thêm cột mới của chỉ mục hàng hiện tại vào DataFrameDataFrame.reset_index[level=None, drop=False, inplace=False, col_level=0, col_fill='']
- Nếu
33, là hành vi mặc định khi nó thêm cột mới của chỉ mục hàng hiện tại vào Khung dữ liệuDataFrame.reset_index[level=None, drop=False, inplace=False, col_level=0, col_fill='']
Ví dụ
Hãy xem cách chúng tôi có thể đặt lại chỉ mục mà không cần thêm cột mới
import pandas as pd
student_dict = {'Name': ['Joe', 'Nat', 'Harry'], 'Age': [20, 21, 19], 'Marks': [85.10, 77.80, 91.54]}
# create DataFrame from dict
student_df = pd.DataFrame[student_dict, index=['s1', 's2', 's3']]
print[student_df]
# reset index without new column
student_df = student_df.reset_index[drop=True]
print[student_df]
đầu ra
DataFrame.reset_index[level=None, drop=False, inplace=False, col_level=0, col_fill='']
3Đặt lại chỉ mục tại chỗ
Trong các ví dụ trên, bất cứ khi nào chúng tôi thực hiện thao tác đặt lại chỉ mục, gấu trúc đã tạo một bản sao mới của DataFrame vì sửa đổi không đúng chỗ
Chỉ định
Original DataFrame:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s3 Sam NaN NaN
s4 Harry 19.0 91.54
DataFrame after dropping NA:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s4 Harry 19.0 91.54
DataFrame after resetting index:
index Name Age Marks
0 s1 Joe 20.0 85.10
1 s2 Nat 21.0 77.80
2 s4 Harry 19.0 91.54
9 để đặt lại chỉ mục trong DataFrame hiện tại thay vì tạo bản sao của nó- Nếu
Original DataFrame:
9 thì nó cập nhật DataFrame hiện có và không trả lại bất kỳ thứ gìName Age Marks
s1 Joe 20.0 85.10 s2 Nat 21.0 77.80 s3 Sam NaN NaN s4 Harry 19.0 91.54 DataFrame after dropping NA: Name Age Marks s1 Joe 20.0 85.10 s2 Nat 21.0 77.80 s4 Harry 19.0 91.54 DataFrame after resetting index: index Name Age Marks 0 s1 Joe 20.0 85.10 1 s2 Nat 21.0 77.80 2 s4 Harry 19.0 91.54 - Nếu là
36 thì nó sẽ tạo một DataFrame mới với chỉ mục được cập nhật và trả về nóDataFrame.reset_index[level=None, drop=False, inplace=False, col_level=0, col_fill='']
Ghi chú. Bạn không cần gán lại kết quả cho một biến vì chúng tôi đang thực hiện các sửa đổi tại chỗ
Ví dụ
Original DataFrame:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s3 Sam NaN NaN
s4 Harry 19.0 91.54
DataFrame after dropping NA:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s4 Harry 19.0 91.54
DataFrame after resetting index:
index Name Age Marks
0 s1 Joe 20.0 85.10
1 s2 Nat 21.0 77.80
2 s4 Harry 19.0 91.54
0đầu ra
Original DataFrame:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s3 Sam NaN NaN
s4 Harry 19.0 91.54
DataFrame after dropping NA:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s4 Harry 19.0 91.54
DataFrame after resetting index:
index Name Age Marks
0 s1 Joe 20.0 85.10
1 s2 Nat 21.0 77.80
2 s4 Harry 19.0 91.54
1Đặt lại chỉ mục bắt đầu từ 1
Giả sử chúng ta có một tập dữ liệu khổng lồ cần lọc. Sau khi lọc DataFrame, nó vẫn mang chỉ mục gốc. Khi chúng tôi muốn đặt lại chỉ mục của DataFrame sao cho chỉ mục mới sẽ bắt đầu bằng 1, chúng tôi có thể thực hiện điều đó theo hai bước,
- Sử dụng
Original DataFrame:
2 để đặt lại chỉ mục hàng bắt đầu từ oName Age Marks
s1 Joe 20.0 85.10 s2 Nat 21.0 77.80 s3 Sam NaN NaN s4 Harry 19.0 91.54 DataFrame after dropping NA: Name Age Marks s1 Joe 20.0 85.10 s2 Nat 21.0 77.80 s4 Harry 19.0 91.54 DataFrame after resetting index: index Name Age Marks 0 s1 Joe 20.0 85.10 1 s2 Nat 21.0 77.80 2 s4 Harry 19.0 91.54 - Sử dụng tham số
38 của DataFrame để gán lại chỉ mục bằng cách thêm 1 vào mỗi chỉ mục hàng của DataFrame kết quảDataFrame.reset_index[level=None, drop=False, inplace=False, col_level=0, col_fill='']
Ví dụ
Trong ví dụ dưới đây, trước tiên chúng tôi đặt lại chỉ mục thành chuỗi số và sau đó thêm 1 vào mỗi chỉ mục
Original DataFrame:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s3 Sam NaN NaN
s4 Harry 19.0 91.54
DataFrame after dropping NA:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s4 Harry 19.0 91.54
DataFrame after resetting index:
index Name Age Marks
0 s1 Joe 20.0 85.10
1 s2 Nat 21.0 77.80
2 s4 Harry 19.0 91.54
4đầu ra
Original DataFrame:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s3 Sam NaN NaN
s4 Harry 19.0 91.54
DataFrame after dropping NA:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s4 Harry 19.0 91.54
DataFrame after resetting index:
index Name Age Marks
0 s1 Joe 20.0 85.10
1 s2 Nat 21.0 77.80
2 s4 Harry 19.0 91.54
5Đặt lại chỉ mục cho phạm vi số
Trong Khung dữ liệu sinh viên của chúng tôi, giả sử chúng tôi muốn gán số Nhận dạng cho từng sinh viên bắt đầu từ 101. Chúng ta có thể sử dụng tham số
DataFrame.reset_index[level=None, drop=False, inplace=False, col_level=0, col_fill='']
38 của DataFrame để thay đổi chỉ mục dưới dạng một dãy số bắt đầu bằng một số cụ thểĐầu tiên, chúng ta cần tạo dãy số và sau đó gán nó cho
Original DataFrame:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s3 Sam NaN NaN
s4 Harry 19.0 91.54
DataFrame after dropping NA:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s4 Harry 19.0 91.54
DataFrame after resetting index:
index Name Age Marks
0 s1 Joe 20.0 85.10
1 s2 Nat 21.0 77.80
2 s4 Harry 19.0 91.54
00 để đặt lại chỉ số ban đầuVí dụ
Trong ví dụ dưới đây, pd. Hàm RangeIndex[] được sử dụng để tạo dãy số bắt đầu từ 101 cho đến hàng cuối cùng i. e.
Original DataFrame:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s3 Sam NaN NaN
s4 Harry 19.0 91.54
DataFrame after dropping NA:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s4 Harry 19.0 91.54
DataFrame after resetting index:
index Name Age Marks
0 s1 Joe 20.0 85.10
1 s2 Nat 21.0 77.80
2 s4 Harry 19.0 91.54
01. Chỉ định phạm vi này cho Original DataFrame:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s3 Sam NaN NaN
s4 Harry 19.0 91.54
DataFrame after dropping NA:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s4 Harry 19.0 91.54
DataFrame after resetting index:
index Name Age Marks
0 s1 Joe 20.0 85.10
1 s2 Nat 21.0 77.80
2 s4 Harry 19.0 91.54
02 Original DataFrame:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s3 Sam NaN NaN
s4 Harry 19.0 91.54
DataFrame after dropping NA:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s4 Harry 19.0 91.54
DataFrame after resetting index:
index Name Age Marks
0 s1 Joe 20.0 85.10
1 s2 Nat 21.0 77.80
2 s4 Harry 19.0 91.54
0đầu ra
DataFrame.reset_index[level=None, drop=False, inplace=False, col_level=0, col_fill='']
00Đặt lại chỉ mục và thay đổi tên cột
Như chúng ta đã thảo luận,
Original DataFrame:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s3 Sam NaN NaN
s4 Harry 19.0 91.54
DataFrame after dropping NA:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s4 Harry 19.0 91.54
DataFrame after resetting index:
index Name Age Marks
0 s1 Joe 20.0 85.10
1 s2 Nat 21.0 77.80
2 s4 Harry 19.0 91.54
2 thêm chỉ mục hiện tại dưới dạng một cột mới với tên 'chỉ mục' trong Khung dữ liệu. Nếu chúng ta muốn đặt tên cho một cột mới được thêm vào như vậy, thì chúng ta cần sử dụng hàm Original DataFrame:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s3 Sam NaN NaN
s4 Harry 19.0 91.54
DataFrame after dropping NA:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s4 Harry 19.0 91.54
DataFrame after resetting index:
index Name Age Marks
0 s1 Joe 20.0 85.10
1 s2 Nat 21.0 77.80
2 s4 Harry 19.0 91.54
04 với Original DataFrame:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s3 Sam NaN NaN
s4 Harry 19.0 91.54
DataFrame after dropping NA:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s4 Harry 19.0 91.54
DataFrame after resetting index:
index Name Age Marks
0 s1 Joe 20.0 85.10
1 s2 Nat 21.0 77.80
2 s4 Harry 19.0 91.54
2Ví dụ
Hãy xem cách thực hiện chuỗi phương thức của hàm
Original DataFrame:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s3 Sam NaN NaN
s4 Harry 19.0 91.54
DataFrame after dropping NA:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s4 Harry 19.0 91.54
DataFrame after resetting index:
index Name Age Marks
0 s1 Joe 20.0 85.10
1 s2 Nat 21.0 77.80
2 s4 Harry 19.0 91.54
2 và Original DataFrame:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s3 Sam NaN NaN
s4 Harry 19.0 91.54
DataFrame after dropping NA:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s4 Harry 19.0 91.54
DataFrame after resetting index:
index Name Age Marks
0 s1 Joe 20.0 85.10
1 s2 Nat 21.0 77.80
2 s4 Harry 19.0 91.54
04 để đổi tên cột 'chỉ mục' mới thành 'ID'DataFrame.reset_index[level=None, drop=False, inplace=False, col_level=0, col_fill='']
01đầu ra
DataFrame.reset_index[level=None, drop=False, inplace=False, col_level=0, col_fill='']
02Đặt lại chỉ mục đa cấp
Khi DataFrame của gấu trúc Python có nhiều tiêu đề cột hoặc chỉ mục hàng, thì được gọi là DataFrame đa cấp hoặc phân cấp. Chúng tôi có thể áp dụng
Original DataFrame:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s3 Sam NaN NaN
s4 Harry 19.0 91.54
DataFrame after dropping NA:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s4 Harry 19.0 91.54
DataFrame after resetting index:
index Name Age Marks
0 s1 Joe 20.0 85.10
1 s2 Nat 21.0 77.80
2 s4 Harry 19.0 91.54
08 trên DataFrame đa chỉ mục như vậySơ đồ bên dưới hiển thị Khung dữ liệu phân cấp của dữ liệu Sinh viên với tiêu đề hai cột trong đó nhãn cột 'Tên' và 'Điểm' ở cấp 0 và 'Họ' và 'Tỷ lệ phần trăm' ở cấp 1. Tương tự, các chỉ mục hai hàng trong đó chỉ mục 'Tiêu chuẩn' ở cấp 0 và 'Lớp' ở cấp 1 của Khung dữ liệu
Ví dụ
Ví dụ dưới đây cho thấy cách tạo DataFrame như vậy
DataFrame.reset_index[level=None, drop=False, inplace=False, col_level=0, col_fill='']
03Bây giờ chúng ta xem cách đặt lại chỉ mục của DataFrame đa cấp bằng cách sử dụng
Original DataFrame:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s3 Sam NaN NaN
s4 Harry 19.0 91.54
DataFrame after dropping NA:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s4 Harry 19.0 91.54
DataFrame after resetting index:
index Name Age Marks
0 s1 Joe 20.0 85.10
1 s2 Nat 21.0 77.80
2 s4 Harry 19.0 91.54
08. Theo mặc định, nó đặt lại chỉ mục của tất cả các cấp và thêm phạm vi chỉ mục mới trong DataFrameDataFrame.reset_index[level=None, drop=False, inplace=False, col_level=0, col_fill='']
04đầu ra
DataFrame.reset_index[level=None, drop=False, inplace=False, col_level=0, col_fill='']
05Đặt lại chỉ mục theo cấp độ
Như chúng ta đã thấy, trong trường hợp chỉ mục đa cấp, theo mặc định DataFrame. reset_index[] áp dụng cho chỉ mục của tất cả các cấp. Nếu chúng ta chỉ muốn đặt lại chỉ số của mức cụ thể, chúng ta có thể sử dụng tham số
Original DataFrame:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s3 Sam NaN NaN
s4 Harry 19.0 91.54
DataFrame after dropping NA:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s4 Harry 19.0 91.54
DataFrame after resetting index:
index Name Age Marks
0 s1 Joe 20.0 85.10
1 s2 Nat 21.0 77.80
2 s4 Harry 19.0 91.54
4 của hàm Original DataFrame:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s3 Sam NaN NaN
s4 Harry 19.0 91.54
DataFrame after dropping NA:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s4 Harry 19.0 91.54
DataFrame after resetting index:
index Name Age Marks
0 s1 Joe 20.0 85.10
1 s2 Nat 21.0 77.80
2 s4 Harry 19.0 91.54
2Nó lấy một vị trí cấp độ hoặc tên cấp độ làm đầu vào để chỉ đặt lại chỉ mục cụ thể đó
Ví dụ
Trong ví dụ dưới đây, chúng tôi chỉ đặt lại chỉ mục của cấp độ 'Chuẩn'
DataFrame.reset_index[level=None, drop=False, inplace=False, col_level=0, col_fill='']
06đầu ra
DataFrame.reset_index[level=None, drop=False, inplace=False, col_level=0, col_fill='']
07Đặt lại chỉ mục và tạo cột mới ở cấp độ
Như chúng ta đã quan sát ở phần trên, theo mặc định,
Original DataFrame:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s3 Sam NaN NaN
s4 Harry 19.0 91.54
DataFrame after dropping NA:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s4 Harry 19.0 91.54
DataFrame after resetting index:
index Name Age Marks
0 s1 Joe 20.0 85.10
1 s2 Nat 21.0 77.80
2 s4 Harry 19.0 91.54
2 tất cả cột mới ở cấp độ đầu tiên, tôi. e. , mức 0. Nếu chúng ta muốn thêm cột chỉ số mới vào các cấp độ khác, chúng ta có thể sử dụng tham số Original DataFrame:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s3 Sam NaN NaN
s4 Harry 19.0 91.54
DataFrame after dropping NA:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s4 Harry 19.0 91.54
DataFrame after resetting index:
index Name Age Marks
0 s1 Joe 20.0 85.10
1 s2 Nat 21.0 77.80
2 s4 Harry 19.0 91.54
7Nó lấy tên cấp độ hoặc vị trí cấp độ làm đầu vào nếu các cột có nhiều cấp độ, do đó, nó xác định cấp độ mà các nhãn được chèn vào
Ví dụ
Trong ví dụ dưới đây, nó chỉ đặt lại chỉ mục của cấp độ 'Chuẩn' và thêm nó làm cột mới ở cấp độ 1
DataFrame.reset_index[level=None, drop=False, inplace=False, col_level=0, col_fill='']
08đầu ra
DataFrame.reset_index[level=None, drop=False, inplace=False, col_level=0, col_fill='']
09Đặt lại chỉ mục và đặt tên cho cấp độ khác
Như chúng ta thấy ở phần trên, trong DataFrame đa cấp, chúng ta đã thêm chỉ mục ‘Standard’ ở cấp 1. Trong trường hợp cần đổi tên tầng khác, chúng ta cần sử dụng tham số
Original DataFrame:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s3 Sam NaN NaN
s4 Harry 19.0 91.54
DataFrame after dropping NA:
Name Age Marks
s1 Joe 20.0 85.10
s2 Nat 21.0 77.80
s4 Harry 19.0 91.54
DataFrame after resetting index:
index Name Age Marks
0 s1 Joe 20.0 85.10
1 s2 Nat 21.0 77.80
2 s4 Harry 19.0 91.54
8 của DataFrameChúng tôi có thể chỉ định bất kỳ nhãn cột hiện có nào mà theo đó cột mới sẽ được chỉ định. Nếu chúng ta chỉ định nhãn mới, thì nó sẽ tạo một
Ví dụ
Trong ví dụ bên dưới, chúng tôi tạo một cột mới từ chỉ mục 'Chuẩn' ở cấp 1 và gán nhãn cột mới 'New_Header' ở cấp 0 của cột mới này