Thủ Thuật Hướng dẫn Hướng dẫn dùng pd iloc python 2022
Hoàng Đức Anh đang tìm kiếm từ khóa Hướng dẫn dùng pd iloc python được Update vào lúc : 2022-09-26 00:12:19 . Với phương châm chia sẻ Thủ Thuật Hướng dẫn trong nội dung bài viết một cách Chi Tiết 2022. Nếu sau khi Read tài liệu vẫn ko hiểu thì hoàn toàn có thể lại Comment ở cuối bài để Ad lý giải và hướng dẫn lại nha.Tiếp tục phần 2 của series Pandas DataFrame nào. Let's go!!!
Nội dung chính- Truy cập và sử dụng Data trong DataFrameLấy tài liệu với AccessorsThiết lập tài liệu với Accessors
Truy cập và sử dụng Data trong DataFrame
Ở phần trước, những bạn đã biết được cách lấy tài liệu một row hoặc column trong Pandas DataFame rồi phải không nào.
>>> df['name'] 6 Hoc 7 Tuan 8 Nam 9 Huy 10 Luan Name: name, dtype: object >>> df.loc[2] name Nam city Da Nang age 33 py-score 81 Name: 2, dtype: objectTrong ví dụ đầu tiên, bạn truy cập vào tên column như cách bạn truy cập một phần tử từ dictionary, bằng phương pháp sử dụng label của nó làm khóa. Nếu column label là một mã định danh Python hợp lệ, thì bạn cũng hoàn toàn có thể sử dụng ký hiệu dấu chấm để truy cập column. Trong ví dụ thứ hai, bạn sử dụng .loc[] để lấy row theo nhãn của nó.
Lấy tài liệu với Accessors
Ngoài trình truy cập .loc[], bạn hoàn toàn có thể sử dụng để lấy những rows hoặc columns theo nhãn của chúng với .iloc[], truy xuất một row hoặc column theo chỉ mục số nguyên của nó. Trong hầu hết những trường hợp, bạn hoàn toàn có thể sử dụng một trong hai cách sau:
>>> df.loc[6] name Hoc city Hồ Chí Minh age 41 py-score 88 Name: 6, dtype: object >>> df.iloc[0] name Hoc city Hồ Chí Minh age 41 py-score 88 Name: 6, dtype: objectdf.loc [6] trả về row có label 6. Tương tự, df.iloc[0] trả về row có index nhờ vào index 0, là row đầu tiên. Như bạn hoàn toàn có thể thấy, cả hai câu lệnh đều trả về cùng một row với một đối tượng Series.
Pandas có tổng cộng bốn accessors:
.loc[] đồng ý label của những row và column và trả về Chuỗi hoặc DataFrame. Bạn hoàn toàn có thể sử dụng nó để lấy toàn bộ row hoặc column, cũng như những phần của chúng..iloc[] đồng ý những index nhờ vào 0 của những row và column và trả về Chuỗi hoặc Dữ liệu. Bạn hoàn toàn có thể sử dụng nó để lấy toàn bộ row hoặc column hoặc những phần của chúng..[] đồng ý label của những row và column và trả về một giá trị tài liệu duy nhất..iat[] đồng ý những index nhờ vào 0 của những row và column và trả về một giá trị tài liệu duy nhất.Trong số này, .loc[] và .iloc[] đặc biệt mạnh mẽ và tự tin. Chúng tương hỗ cắt và lập chỉ mục kiểu NumPy. Bạn hoàn toàn có thể sử dụng chúng để truy cập một cột:
>>> df.loc[:, 'city'] city 6 Hồ Chí Minh 7 Ha Noi 8 Da Nang 9 Long An 10 Hồ Chí Minh Name: city, dtype: object >>> df.iloc[:, 1] 6 Hồ Chí Minh 7 Ha Noi 8 Da Nang 9 Long An 10 Hồ Chí Minh Name: city, dtype: objectdf.loc[:, 'city'] trả về column city. Cấu trúc lát cắt ( : ) ở vị trí row label nghĩa là tất cả những row phải được gồm có. df.iloc[:, 1] trả về cùng một column vì chỉ mục 1 nhờ vào 0 tham chiếu đến cột thứ hai, city.
Cũng in như bạn hoàn toàn có thể làm với NumPy, bạn hoàn toàn có thể đáp ứng những lát cùng với list hoặc mảng thay vì chỉ mục để có nhiều row hoặc column.
>>> df.loc[7:10, ['name', 'city']] name city 7 Tuan Ha Noi 8 Nam Da Nang 9 Huy Long An 10 Luan Hồ Chí Minh >>> df.iloc[1:5, [0, 1]] name city 7 Tuan Ha Noi 8 Nam Da Nang 9 Huy Long An 10 Luan Hồ Chí MinhLưu ý: Không sử tuples trị thay vì list hoặc mảng số nguyên để lấy những row hoặc column thông thường. Tuples được dành riêng để đại diện cho nhiều dimensions trong NumPy và Pandas, cũng như lập chỉ mục phân cấp hoặc đa cấp trong Pandas.
Trong ví dụ này, bạn sử dụng:
- Slices để lấy những row label từ 7 đến 10, tương đương với những index từ 1 đến 4Lists để lấy tên cột và thành phố, tương đương với những index 0 và 1
Cả hai câu lệnh đều trả về một Pandas DataFrame với giao điểm của bốn row và hai column mong ước.
Điều này dẫn đến sự khác lạ rất quan trọng giữa .loc[] và .iloc[]. Như bạn hoàn toàn có thể thấy từ ví dụ trước, khi bạn chuyển row label 7:10 với .loc[], bạn nhận được những row label từ 7 đến 10. Tuy nhiên, khi bạn chuyển row index 1:4 với .iloc[], bạn chỉ lấy những row có index từ 1 đến 4.
Lý do bạn chỉ nhận được những index từ 1 đến 4 là với .iloc[], stop index của một slice là độc quyền, nghĩa là nó bị loại trừ khỏi những giá trị trả về. Điều này phù phù phù hợp với chuỗi Python và mảng NumPy. Tuy nhiên, với .loc[], cả index khởi đầu và stop index đều inclusive, nghĩa là chúng được gồm có với những giá trị trả về.
Bạn hoàn toàn có thể bỏ qua những row và column với .iloc[] in như cách bạn hoàn toàn có thể làm với những slicing tuples, lists và mảng NumPy:
>>> df.iloc[1:4:2, 0] 7 Tuan 9 Huy Name: name, dtype: objectTrong ví dụ này, bạn chỉ định những row index mong ước với slice 1: 4: 2. Điều này nghĩa là bạn khởi đầu với row có index 1 (row thứ hai), tạm dừng trước row có index 6 (row thứ năm) và bỏ qua mọi row thứ hai.
Thay vì sử dụng slicing construct, bạn cũng hoàn toàn có thể sử dụng class slice() tích hợp sẵn trong Python(), cũng như numpy.s_[] hoặc pd.IndexSlice[]:
>>> df.iloc[slice(1, 4, 2), 0] 7 Tuan 9 Huy Name: name, dtype: object >>> df.iloc[np.s_[1:4:2], 0] 7 Tuan 9 Huy Name: name, dtype: object >>> df.iloc[pd.IndexSlice[1:4:2], 0] 7 Tuan 9 Huy Name: name, dtype: objectBạn hoàn toàn có thể thấy một trong những cách tiếp cận này thuận tiện hơn những cách khác tùy thuộc vào tình huống của bạn.
Có thể sử dụng .loc[] và .iloc[] để nhận những giá trị tài liệu rõ ràng. Tuy nhiên, khi bạn chỉ việc một giá trị duy nhất, Pandas khuyên bạn nên sử dụng những trình truy cập chuyên biệt .[] và .iat[]:
>>> df.[8, 'name'] 'Nam' >>> df.iat[2, 0] 'Nam'Ở đây, bạn đã sử dụng .[] để lấy tên của một ứng cử viên bằng phương pháp sử dụng những row và column label tương ứng của nó. Bạn đã và đang sử dụng .iat[] để truy xuất cùng một tên bằng phương pháp sử dụng những row và column index của nó.
Thiết lập tài liệu với Accessors
Bạn hoàn toàn có thể sử dụng accessors để sửa đổi những phần của Pandas DataFrame bằng phương pháp chuyển một chuỗi Python, mảng NumPy hoặc một giá trị:
>>> df.loc[:, 'py-score'] 6 88.0 7 79.0 8 81.0 9 80.0 10 68.0 Name: py-score, dtype: float64 >>> df.loc[:8, 'py-score'] = [40, 50, 60] >>> df.loc[9:, 'py-score'] = 0 >>> df['py-score'] 6 40.0 7 50.0 8 60.0 9 0.0 10 0.0 Name: py-score, dtype: float64Câu lệnh df.loc[:8, 'py-score'] = [40, 50, 60] sửa đổi ba mục đầu tiên (row 6 đến 8) trong cột py-score bằng phương pháp sử dụng những giá trị từ list được đáp ứng của bạn. Sử dụng df.loc[9:, 'py-score'] = 0 đặt những giá trị còn sót lại trong column này thành 0.
Ví dụ sau đã cho tất cả chúng ta biết rằng bạn hoàn toàn có thể sử dụng những negative index với .iloc[] để truy cập hoặc sửa đổi tài liệu:
>>> df.iloc[:, -1] = np.array([88.0, 79.0, 81.0, 80.0, 68.0]) >>> df['py-score'] 6 88.0 7 79.0 8 81.0 9 80.0 10 68.0 Name: py-score, dtype: float64Trong ví dụ này, bạn đã truy cập và sửa đổi column ở đầu cuối ('py-score'), tương ứng với số nguyên column index -1. Hành vi này phù phù phù hợp với chuỗi Python và mảng NumPy.
Mình xin kết thúc Phần 3 ở đây nhé, hẹn hội ngộ những bạn ở phần 4.
Tải thêm tài liệu liên quan đến nội dung bài viết Hướng dẫn dùng pd iloc python programming python iloc -1 pandas python iloc[-1] iloc -1 means iloc[:,-1] iloc[:, -1] means Iloc 1 means