입력 -
DataFrame이 있고 인덱스와 열의 전치 결과는 다음과 같다고 가정합니다.
Transposed DataFrame is 0 1 0 1 4 1 2 5 2 3 6
해결책 1
-
DataFrame 정의
-
중첩 목록 이해를 설정하여 2차원 목록 데이터의 각 요소를 반복하고 결과에 저장합니다.
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
-
DataFrame 정의
-
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
-
DataFrame 정의
-
Zip 메서드는 튜플의 반복자를 반환합니다. *를 사용하여 2차원 목록에 압축을 풀고 적용합니다. 아래에 정의되어 있습니다.
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