使用 Python 編寫程式,對給定 DataFrame 的索引和列進行轉置。
輸入 -
假設您有一個 DataFrame,並且索引和列轉置的結果為:
Transposed DataFrame is 0 1 0 1 4 1 2 5 2 3 6
方案 1
設定巢狀列表推導式,迭代二維列表資料中的每個元素,並將結果儲存在 result 中。
定義一個 DataFrame
result = [[data[i][j] for i in range(len(data))] for j in range(len(data[0]))
將結果轉換為 DataFrame,
df2 = pd.DataFrame(result)
示例
讓我們看看完整的實現,以便更好地理解 -
import pandas as pd data = [[1,2,3],[4,5,6]] df = pd.DataFrame(data) print("Original DataFrame is\n", df) result = [[data[i][j] for i in range(len(data))] for j in range(len(data[0]))] df2 = pd.DataFrame(result) print("Transposed DataFrame is\n", df2)
輸出
Original DataFrame is 0 1 2 0 1 2 3 1 4 5 6 Transposed DataFrame is 0 1 0 1 4 1 2 5 2 3 6
方案 2
設定巢狀列表推導式,迭代二維列表資料中的每個元素,並將結果儲存在 result 中。
對 DataFrame 應用轉置方法 df.T 或 df.transpose()。
df.transpose() # or df.T
示例
讓我們看看完整的實現,以便更好地理解 -
import pandas as pd data = [[1,2,3],[4,5,6]] df = pd.DataFrame(data) print("Original DataFrame is\n", df) print("Transposed DataFrame is\n", df.transpose())
輸出
Original DataFrame is 0 1 2 0 1 2 3 1 4 5 6 Transposed DataFrame is 0 1 0 1 4 1 2 5 2 3 6
方案 3
設定巢狀列表推導式,迭代二維列表資料中的每個元素,並將結果儲存在 result 中。
zip 方法返回一個元組迭代器。使用 * 和 zip 對二維列表應用解壓操作。定義如下,
result = zip(*data)
將結果轉換為 DataFrame,
df2 = pd.DataFrame(result)
示例
讓我們看看完整的實現,以便更好地理解 -
import pandas as pd data = [[1,2,3],[4,5,6]] df = pd.DataFrame(data) print("Original DataFrame is\n", df) result = zip(*data) df2 = pd.DataFrame(result) print("Transposed DataFrame is\n", df2)
輸出
Original DataFrame is 0 1 2 0 1 2 3 1 4 5 6 Transposed DataFrame is 0 1 0 1 4 1 2 5 2 3 6
廣告