Sử dụng một cách thay đổi tạm thời để lưu trữ giá trị bằng .copy[]
, vì bạn đang thay đổi các giá trị trong khi gán chúng trên chuỗi, tức là bạn sử dụng sao chép dữ liệu sẽ được thay đổi trực tiếp.
a = pd.DataFrame[data = [[1,2],[3,4]], index=range[2], columns = ['A', 'B']]
b, c = a.iloc[0], a.iloc[1]
temp = a.iloc[0].copy[]
a.iloc[0] = c
a.iloc[1] = temp
Hoặc bạn có thể trực tiếp sử dụng bản sao như
a = pd.DataFrame[data = [[1,2],[3,4]], index=range[2], columns = ['A', 'B']]
b, c = a.iloc[0].copy[], a.iloc[1].copy[]
a.iloc[0],a.iloc[1] = c,b
Giả sử bạn có DataFrame và kết quả để hoán đổi hai hàng cuối cùng,
Before swapping Name Age Maths Science English 0 David 13 98 75 79 1 Adam 12 59 96 45 2 Bob 12 66 55 70 3 Alex 13 95 49 60 4 Serina 12 70 78 80 After swapping Name Age Maths Science English 0 David 13 98 75 79 1 Adam 12 59 96 45 2 Bob 12 66 55 70 3 Serina 12 70 78 80 4 Alex 13 95 49 60
Dung dịch
Để giải quyết vấn đề này, chúng tôi sẽ làm theo cách tiếp cận được đưa ra dưới đây -
Xác định DataFrame
Tạo dữ liệu TEMP để lưu trữ hàng cuối cùng. Nó được định nghĩa dưới đây,
temp = df.iloc[-1]
Trao đổi các giá trị hàng thứ hai sang hàng thứ nhất và gán dữ liệu temp cho hàng thứ hai. Nó được định nghĩa dưới đây,
df.iloc[-1] = df.iloc[-2] df.iloc[-2] = temp
Thí dụ
Hãy cùng xem các triển khai dưới đây để hiểu rõ hơn -
import pandas as pd data = {'Name': ['David', 'Adam', 'Bob', 'Alex', 'Serina'], 'Age' : [13,12,12,13,12], 'Maths': [98, 59, 66, 95, 70], 'Science': [75, 96, 55, 49, 78], 'English': [79, 45, 70, 60, 80]} df = pd.DataFrame[data] print["Before swapping
",df] temp = df.iloc[-1] df.iloc[-1] = df.iloc[-2] df.iloc[-2] = temp print["After swapping
",df]
Đầu ra
Before swapping Name Age Maths Science English 0 David 13 98 75 79 1 Adam 12 59 96 45 2 Bob 12 66 55 70 3 Alex 13 95 49 60 4 Serina 12 70 78 80 After swapping Name Age Maths Science English 0 David 13 98 75 79 1 Adam 12 59 96 45 2 Bob 12 66 55 70 3 Serina 12 70 78 80 4 Alex 13 95 49 60
Cập nhật ngày 24 tháng 8 năm 2021 09:56:07
- Câu hỏi và câu trả lời liên quan
- Viết mã python để kết hợp hai chuỗi đã cho và chuyển đổi nó thành một khung dữ liệu
- Viết mã python để đổi tên trục đã cho trong một khung dữ liệu
- Viết mã python để lọc tên palindrom trong một khung dữ liệu nhất định
- Viết mã Python để điền vào tất cả các giá trị bị thiếu trong một khung dữ liệu nhất định
- Viết một chương trình bằng Python để loại bỏ các hàng trùng lặp đầu tiên trong một khung dữ liệu nhất định
- Viết mã Python để chọn bất kỳ một hàng ngẫu nhiên nào từ một DataFrame đã cho
- Viết một chương trình bằng Python để chọn bất kỳ hàng chỉ mục lẻ ngẫu nhiên nào trong một khung dữ liệu nhất định
- Viết mã python để tìm giá trị thấp thứ hai trong mỗi cột trong một khung dữ liệu nhất định
- Viết một chương trình Python để định hình lại một dữ liệu nhất định theo những cách khác nhau
- Viết một chương trình bằng Python để chuyển đổi một dữ liệu nhất định thành tài liệu latex
- Viết một chương trình bằng Python để bản địa hóa múi giờ châu Á cho một khung dữ liệu nhất định
- Viết mã python để tìm một bảng chéo của hai khung dữ liệu
- Viết một chương trình bằng Python để chuyển đổi chỉ mục và cột trong một khung dữ liệu nhất định
- Viết một chương trình bằng Python để đọc dữ liệu CSV từ một tệp và in tổng số của hai hàng cuối cùng
- Viết một chương trình bằng Python để sửa đổi đường chéo của một dữ liệu nhất định bằng 1
Để trao đổi các hàng và cột của DataFrame trong gấu trúc, hãy sử dụng phương thức transpose[~]
của DataFrame.
Thí dụ
Xem xét các dữ liệu sau:
a = pd.DataFrame[data = [[1,2],[3,4]], index=range[2], columns = ['A', 'B']]
b, c = a.iloc[0].copy[], a.iloc[1].copy[]
a.iloc[0],a.iloc[1] = c,b
0a = pd.DataFrame[data = [[1,2],[3,4]], index=range[2], columns = ['A', 'B']]
b, c = a.iloc[0].copy[], a.iloc[1].copy[]
a.iloc[0],a.iloc[1] = c,b
1Để lật các hàng và cột của
a = pd.DataFrame[data = [[1,2],[3,4]], index=range[2], columns = ['A', 'B']]
b, c = a.iloc[0].copy[], a.iloc[1].copy[]
a.iloc[0],a.iloc[1] = c,b
2:
a = pd.DataFrame[data = [[1,2],[3,4]], index=range[2], columns = ['A', 'B']]
b, c = a.iloc[0].copy[], a.iloc[1].copy[]
a.iloc[0],a.iloc[1] = c,b
4a = pd.DataFrame[data = [[1,2],[3,4]], index=range[2], columns = ['A', 'B']]
b, c = a.iloc[0].copy[], a.iloc[1].copy[]
a.iloc[0],a.iloc[1] = c,b
1Lưu ý rằng một dataFrame mới được trả về và nguồn
a = pd.DataFrame[data = [[1,2],[3,4]], index=range[2], columns = ['A', 'B']]
b, c = a.iloc[0].copy[], a.iloc[1].copy[]
a.iloc[0],a.iloc[1] = c,b
2 được giữ nguyên.