Hướng dẫn dùng set_index python
pandas.DataFrame.set_index() được sử dụng để đặt chỉ mục thành DataFrame của gấu trúc. Bằng cách sử dụng phương thức set_index (), bạn có thể đặt danh sách giá trị, cột DataFrame gấu trúc hiện có, Chuỗi làm chỉ mục, cũng đặt nhiều cột làm chỉ mục. Sử dụng pandas.DataFrame.reset_index () để đặt lại chỉ mục với các giá trị số mặc định. Show Nội dung chính
Nội dung chính
Nội dung chính
Chỉ số gấu trúc là gì? Chỉ mục giống như một con trỏ để xác định các hàng / cột trên DataFrame hoặc chuỗi. Cả hàng và cột đều có chỉ mục. Chỉ số hàng được gọi là chỉ mục và đối với cột, nó thường là tên hoặc nhãn cột. pandas.DataFrame.set_index () Các điểm chính
1. Ví dụ nhanh về chỉ số tập hợp gấu trúcDưới đây là các ví dụ nhanh và cách sử dụng phương thức pandas.DataFrame.set_index (). #Set list to index index_labels=['r1','r2','r3'] df.index = index_labels # Set single colin as index df2 = df.set_index('Courses') # Append index df2 = df.set_index('Courses', append=True) # Set multiple columns as Index df2 = df.set_index(['Courses','Duration']) # Set date time as index df2 = df.set_index(pd.DatetimeIndex(pd.to_datetime(df['Start_Date']))) Dưới đây là cú pháp của phương thức set_index (). #pandas DataFrame set_index() syntax DataFrame.set_index(keys, drop=True, append=False, inplace=False, verify_integrity=False) Phương thức này nhận các tham số dưới đây và trả về DataFrame sau khi thiết lập Chỉ mục. Nếu bạn đã sử dụng inplace = True, điều này trả về Không có và đặt Chỉ mục trên đối tượng DataFrame hiện có.
Hãy tạo một DataFrame gấu trúc, chạy các ví dụ trên và xác thực kết quả. # Create DataFrame import pandas as pd import numpy as np technologies = { 'Courses':["Spark","PySpark","Hadoop"], 'Fee' :[20000,25000,26000], 'Duration':['30day','40days','35days'], 'Discount':[1000,np.nan,1200], 'Start_Date' : ['2021-02-04 05:30:00','01-09-2021 06:30:00', '2021-03-06 07:30:00'] } df = pd.DataFrame(technologies) print(df) # Output # Courses Fee Duration Discount Start_Date #0 Spark 20000 30day 1000.0 2021-02-04 05:30:00 #1 PySpark 25000 40days NaN 01-09-2021 06:30:00 #2 Hadoop 26000 35days 1200.0 2021-03-06 07:30:00 3. Ví dụ về bộ chỉ số gấu trúcVì chúng tôi chưa cung cấp danh sách chỉ mục tại thời điểm tạo DataFrame ở trên, theo mặc định, gấu trúc DataFrame sẽ gán các số thứ tự tăng dần làm nhãn cho các hàng dưới dạng Chỉ mục. Bạn có thể thay đổi chỉ mục bằng cách gán danh sách các giá trị cho DataFrame.index. # Set list to index index_labels=['r1','r2','r3'] df.index = index_labels print(df) # Outputs # Courses Fee Duration Discount Start_Date #r1 Spark 20000 30day 1000.0 2021-02-04 05:30:00 #r2 PySpark 25000 40days NaN 01-09-2021 06:30:00 #r3 Hadoop 26000 35days 1200.0 2021-03-06 07:30:00 Nếu muốn, bạn cũng có thể đặt tên thành chỉ mục bằng cách sử dụng rename_axis (). 4. Đặt một cột làm chỉ mục bằng cách sử dụng set_index ()Đôi khi bạn sẽ được yêu cầu đặt một trong các cột DataFrame hiện có làm Chỉ mục, bạn có thể đạt được điều này bằng cách sử dụng phương thức set_index (). sau khi thiết lập chỉ mục, nó sẽ loại bỏ cột khỏi DataFrame. Để giữ lại nó, hãy sử dụng drop=False tham số. # Set single colin as index df2 = df.set_index('Courses') print(df2) # Output # Fee Duration Discount Start_Date #Courses #Spark 20000 30day 1000.0 2021-02-04 05:30:00 #PySpark 25000 40days NaN 01-09-2021 06:30:00 #Hadoop 26000 35days 1200.0 2021-03-06 07:30:00 Lưu ý rằng việc đặt chỉ mục sẽ thay thế chỉ mục hiện có trong DataFrame. Nếu bạn muốn giữ lại Chỉ mục hiện có và thêm vào việc sử dụng chỉ mục mới append=True. # Append index df2 = df.set_index('Courses', append=True) print(df2) # Output # Fee Duration Discount Start_Date # Courses #r1 Spark 20000 30day 1000.0 2021-02-04 05:30:00 #r2 PySpark 25000 40days NaN 01-09-2021 06:30:00 #r3 Hadoop 26000 35days 1200.0 2021-03-06 07:30:00 5. gấu trúc đặt chỉ mục nhiều cộtBạn cũng có thể đặt nhiều cột làm chỉ mục trong gấu trúc, Để làm như vậy, chỉ cần chuyển tất cả các cột trong danh sách sang phương thức DataFrame.set_index (). # Set multiple columns as Index df2 = df.set_index(['Courses','Duration']) print(df2) # Output # Fee Discount Start_Date #Courses Duration #Spark 30day 20000 1000.0 2021-02-04 05:30:00 #PySpark 40days 25000 NaN 01-09-2021 06:30:00 #Hadoop 35days 26000 1200.0 2021-03-06 07:30:00 6. pandas Đặt Index thành datetimeKhi bạn đang làm việc với ngày và giờ và muốn thực hiện một số lọc vào ngày giờ, cách tốt nhất là đặt cột ngày và giờ làm chỉ mục. Trước khi bạn thực hiện việc này, hãy đảm bảo rằng cột ngày của bạn ở định dạng ngày giờ. Sử dụng phương thức pandas.DatetimeIndex () để chuyển đổi datetime thành chỉ mục. # Set date time as index df2 = df.set_index(pd.DatetimeIndex(pd.to_datetime(df['Start_Date']))) print(df2) # Output # Courses Fee Duration Discount Start_Date #Start_Date #2021-02-04 05:30:00 Spark 20000 30day 1000.0 2021-02-04 05:30:00 #2021-01-09 06:30:00 PySpark 25000 40days NaN 01-09-2021 06:30:00 #2021-03-06 07:30:00 Hadoop 26000 35days 1200.0 2021-03-06 07:30:00 Bằng cách chạy df2.inf (), sẽ cho bạn kết quả bên dưới
Trong trường hợp bạn muốn đặt chỉ mục thành một cột, hãy sử dụng DataFrame.reset_index (). Ngoài ra còn có một số cách khác để thiết lập chỉ số. 7. Hoàn thành Ví dụ về Bộ chỉ số gấu trúcimport pandas as pd import numpy as np technologies = { 'Courses':["Spark","PySpark","Hadoop"], 'Fee' :[20000,25000,26000], 'Duration':['30day','40days','35days'], 'Discount':[1000,np.nan,1200], 'Start_Date' : ['2021-02-04 05:01:21','01-09-2021 06:03:41', '2021-03-06 07:06:21'] } df = pd.DataFrame(technologies) print(df) #Set list to index index_labels=['r1','r2','r3'] df.index = index_labels print(df) # Set single colin as index df2 = df.set_index('Courses') print(df2) # Append index df2 = df.set_index('Courses', append=True) print(df2) # Set multiple columns as Index df2 = df.set_index(['Courses','Duration']) print(df2) # Set date time as index df2 = df.set_index(pd.DatetimeIndex(pd.to_datetime(df['Start_Date']))) print(df2) print(df2.info()) Sự kết luậnTrong bài viết này, bạn đã học cú pháp pandas.DataFrame.set_index (), cách sử dụng và các ví dụ như danh sách thiết lập, cột DataFrame dưới dạng chỉ mục. Và cũng đã học cách đặt nhiều cột và DateTime làm chỉ mục cho DataFrame. Người giới thiệu |