Chúng ta có thể định hình lại khung dữ liệu bằng cách sử dụng hàm tan (), stack (), unack () và pivot ().
Giải pháp 1
-
Xác định khung dữ liệu.
-
Áp dụng hàm tan () để chuyển đổi cột khung dữ liệu rộng thành các hàng. Nó được định nghĩa bên dưới,
df.melt()
Ví dụ
Hãy xem đoạn mã dưới đây để hiểu rõ hơn -
import pandas as pd df = pd.DataFrame({'Id':[1,2,3],'Age':[13,14,13],'Mark':[80,90,85]}) print("Dataframe is:\n",df) print(df.melt())
Đầu ra
Dataframe is: Id Age Mark 0 1 13 80 1 2 14 90 2 3 13 85 variable value 0 Id 1 1 Id 2 2 Id 3 3 Age 13 4 Age 14 5 Age 13 6 Mark 80 7 Mark 90 8 Mark 85
Giải pháp 2
-
Xác định khung dữ liệu.
-
Áp dụng hàm stack () để tăng mức độ của chỉ mục trong khung dữ liệu. Nó được định nghĩa bên dưới,
df.stack().to_frame()
-
Nếu bạn muốn hoàn nguyên các thay đổi, bạn có thể sử dụng unack ().
df.unstack().to_frame()
Ví dụ
Hãy xem cách triển khai bên dưới để hiểu rõ hơn -
import pandas as pd df = pd.DataFrame({'Id':[1,2,3],'Age':[13,14,13],'Mark':[80,90,85]}) print("Dataframe is:\n",df) print(df.stack().to_frame()) print(df.unstack().to_frame())
Đầu ra
Dataframe is: Id Age Mark 0 1 13 80 1 2 14 90 2 3 13 85 0 0 Id 1 Age 13 Mark 80 1 Id 2 Age 14 Mark 90 2 Id 3 Age 13 Mark 85 0 Id 0 1 1 2 2 3 Age 0 13 1 14 2 13 Mark 0 80 1 90 2 85
Giải pháp 3
-
Xác định khung dữ liệu
-
Áp dụng hàm pivot () để định hình lại khung dữ liệu dựa trên cột Id,
df.pivot(columns='Id')
Ví dụ
Hãy xem cách triển khai bên dưới để hiểu rõ hơn -
import pandas as pd df = pd.DataFrame({'Id':[1,2,3],'Age':[13,14,13],'Mark':[80,90,85]}) print("Dataframe is:\n",df) print(df.pivot(columns='Id'))
Đầu ra
Dataframe is: Id Age Mark 0 1 13 80 1 2 14 90 2 3 13 85 Age Mark Id 1 2 3 1 2 3 0 13.0 NaN NaN 80.0 NaN NaN 1 NaN 14.0 NaN NaN 90.0 NaN 2 NaN NaN 13.0 NaN NaN 85.0