Pandas pandas.melt() 함수
Minahil Noor
2023년1월30일
-
pandas.melt()
구문 -
예제 코드:
pandas.melt()
-
샘플 코드 : 단일 열이
id_vars
인pandas.melt()
-
예제 코드: 열을 건너 뛰는
pandas.melt()
-
예제 코드: 여러 열이있는
pandas.melt()
pandas.melt()
함수는 기존DataFrame
의 모양을 변경하거나 변형합니다. DataFrame
의 방향을 와이드 형식에서 긴 형식으로 변경합니다.
pandas.melt()
구문
pandas.melt(dataframe, id_vars, value_vars, var_name, value_name, col_level)
매개 변수
Dataframe |
필수 | long 형식으로 변경하고자하는 DataFrame 입니다. |
id_vars |
선택 과목 | 튜플, 목록또는 N 차원 배열 일 수 있습니다. 식별자 변수에 사용되는 열입니다. 둘 이상의 식별자 열을 선택할 수 있습니다. |
value_vars |
선택 과목 | 튜플, 목록또는 N 차원 배열 일 수 있습니다. 기본적으로 식별자 변수로 지정되지 않은 열은 값 변수입니다. 이것들을 선택할 수도 있습니다. |
var_name |
선택 과목 | 스칼라유형의 변수입니다. 식별자 열의 이름입니다. 기본적으로 variable 입니다. |
value_name |
선택 과목 | 스칼라유형의 변수입니다. 비 식별자 열의 이름입니다. 기본적으로 value 입니다. |
col_level |
선택 과목 | 정수 또는 문자열입니다. 다중 인덱스 열의 경우이 매개 변수를 사용하여DataFrame 을 변환 할 수 있습니다. |
반환
하나 이상의 식별자 열과 variable
및 value
라는 두 개의 비 식별자 열만 포함하는 변환 된 DataFrame
을 반환합니다.
예제 코드: pandas.melt()
처음에는 필수 매개 변수 인 DataFrame
만 전달하여이 함수를 확인합니다.
import pandas as pd
dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 78,4: 95},
'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
'Obtained Marks': {0: '90%', 1: '75%', 2: '82%',3: '64%',4: '45%'}})
dataframe1 = pd.melt(dataframe)
print(dataframe1)
DataFrame
은 다음과 같습니다.
Attendance Name Obtained Marks
0 60 Olivia 90%
1 100 John 75%
2 80 Laura 82%
3 78 Ben 64%
4 95 Kevin 45%
출력:
variable value
0 Attendance 60
1 Attendance 100
2 Attendance 80
3 Attendance 78
4 Attendance 95
5 Name Olivia
6 Name John
7 Name Laura
8 Name Ben
9 Name Kevin
10 Obtained Marks 90%
11 Obtained Marks 75%
12 Obtained Marks 82%
13 Obtained Marks 64%
14 Obtained Marks 45%
여기에서 출력에 식별자 열이 없음을 알 수 있습니다. 두 개의 비 식별자 열이 있습니다. 원본DataFrame
의 각 열은 이제 출력DataFrame
의 행입니다.
이제 선택적 매개 변수를 전달하고 결과를 확인합니다.
샘플 코드 : 단일 열이id_vars
인pandas.melt()
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: "90%", 1: "75%", 2: "82%", 3: "64%", 4: "45%"},
}
)
dataframe1 = pd.melt(dataframe, id_vars=["Name"])
print(dataframe1)
출력:
Name variable value
0 Olivia Attendance 60
1 John Attendance 100
2 Laura Attendance 80
3 Ben Attendance 78
4 Kevin Attendance 95
5 Olivia Obtained Marks 90%
6 John Obtained Marks 75%
7 Laura Obtained Marks 82%
8 Ben Obtained Marks 64%
9 Kevin Obtained Marks 45%
식별자 열은 Name
으로 지정되고 variable
및 value
열은 원래 데이터 프레임에서 추출 된 값과 함께 그 옆에 있습니다.
기본 variable
및 values
을 대체하기 위해 var_name
및 value_name
의 이름을 할당 할 수도 있습니다.
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: "90%", 1: "75%", 2: "82%", 3: "64%", 4: "45%"},
}
)
dataframe1 = pd.melt(
dataframe, id_vars=["Name"], var_name="Performance", value_name="Success"
)
print(dataframe1)
출력:
Name Performance Success
0 Olivia Attendance 60
1 John Attendance 100
2 Laura Attendance 80
3 Ben Attendance 78
4 Kevin Attendance 95
5 Olivia Obtained Marks 90%
6 John Obtained Marks 75%
7 Laura Obtained Marks 82%
8 Ben Obtained Marks 64%
9 Kevin Obtained Marks 45%
예제 코드: 열을 건너 뛰는pandas.melt()
출석 만 확인하려면value_vars
를 지정해야합니다.
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: "90%", 1: "75%", 2: "82%", 3: "64%", 4: "45%"},
}
)
dataframe1 = pd.melt(
dataframe,
id_vars=["Name"],
value_vars="Attendance",
var_name="Performance",
value_name="Success",
)
print(dataframe1)
출력:
Name Performance Success
0 Olivia Attendance 60
1 John Attendance 100
2 Laura Attendance 80
3 Ben Attendance 78
4 Kevin Attendance 95
원본 데이터 프레임의 Attendance
열 정보 만 보여줍니다.
예제 코드: 여러 열이있는pandas.melt()
데모 데이터 프레임에 ID
열을 추가합니다.
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
"ID": {0: 1, 1: 2, 2: 3, 3: 4, 4: 5},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: "90%", 1: "75%", 2: "82%", 3: "64%", 4: "45%"},
}
)
dataframe1 = pd.melt(dataframe, id_vars=["ID", "Name"])
print(dataframe1)
출력:
ID Name variable value
0 1 Olivia Attendance 60
1 2 John Attendance 100
2 3 Laura Attendance 80
3 4 Ben Attendance 78
4 5 Kevin Attendance 95
5 1 Olivia Obtained Marks 90%
6 2 John Obtained Marks 75%
7 3 Laura Obtained Marks 82%
8 4 Ben Obtained Marks 64%
9 5 Kevin Obtained Marks 45%
ID
및Name
열은 모두 식별자 열로 할당됩니다.