넓은 데이터에서 재구성:
데이터 조작 영역에서 넓은 데이터 세트를 긴 데이터 세트로 재구성하는 것은 데이터의 중요한 작업입니다. 통합 및 분석. 다음 시나리오를 고려하십시오.
날짜별로 색인이 지정된 변수 AA, BB 및 CC에 대한 일일 값이 있는 pandas의 데이터 프레임이 있습니다.
+---------+----+----+----+ | date | AA | BB | CC | +---------+----+----+----+ | 05/03 | 1 | 2 | 3 | | 06/03 | 4 | 5 | 6 | | 07/03 | 7 | 8 | 9 | | 08/03 | 5 | 7 | 1 | +---------+----+----+----+
이 데이터를 아래와 같이 각 행이 변수와 날짜를 나타내는 형식입니다.
+------+---------+--------+ | var | date | value | +------+---------+--------+ | AA | 05/03 | 1 | | AA | 06/03 | 4 | | AA | 07/03 | 7 | | AA | 08/03 | 5 | | BB | 05/03 | 2 | | BB | 06/03 | 5 | | BB | 07/03 | 8 | | BB | 08/03 | 7 | | CC | 05/03 | 3 | | CC | 06/03 | 6 | | CC | 07/03 | 9 | | CC | 08/03 | 1 | +------+---------+--------+
이 재구성은 데이터 통합의 일반적인 작업이며 이 데이터프레임을 날짜 및 초기 열 이름이 일치하는 다른 데이터프레임과 병합할 수 있게 해줍니다( AA, BB, CC).
방법: Pandas의 Melt 함수
다행히도 pandas는 이러한 변환을 수행하는 간단한 방법인 pandas.melt 또는 DataFrame.melt를 제공합니다. . 예는 다음과 같습니다.
import pandas as pd df = pd.DataFrame({ 'date' : ['05/03', '06/03', '07/03', '08/03'], 'AA' : [1, 4, 7, 5], 'BB' : [2, 5, 8, 7], 'CC' : [3, 6, 9, 1] }) df.set_index('date', inplace=True) dfm = df.reset_index().melt(id_vars='date')
이렇게 하면 데이터 프레임이 원하는 긴 형식으로 변환됩니다.
date variable value 0 05/03 AA 1 1 06/03 AA 4 2 07/03 AA 7 3 08/03 AA 5 4 05/03 BB 2 5 06/03 BB 5 6 07/03 BB 8 7 08/03 BB 7 8 05/03 CC 3 9 06/03 CC 6 10 07/03 CC 9 11 08/03 CC 1
위 내용은 변수와 날짜를 나타내는 값을 사용하여 넓은 Pandas DataFrame을 긴 형식으로 어떻게 변환합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!