>  기사  >  백엔드 개발  >  Pandas\' concat 함수의 \'levels\', \'keys\' 및 \'names\' 인수는 어떻게 MultiIndex를 생성하는 데 작동합니까?

Pandas\' concat 함수의 \'levels\', \'keys\' 및 \'names\' 인수는 어떻게 MultiIndex를 생성하는 데 작동합니까?

DDD
DDD원래의
2024-10-31 20:28:29498검색

How do the 'levels', 'keys', and 'names' arguments in Pandas' concat function work to create a MultiIndex?

Pandas의 concat 함수에서 '레벨', '키', 이름 인수는 무엇인가요?

1. 소개

pandas.concat() 함수는 지정된 축을 따라 여러 시리즈 또는 DataFrame을 결합하는 강력한 도구입니다. 이는 결과 MultiIndex를 사용자 정의하는 데 사용할 수 있는 수준, 키 및 이름을 포함한 다양한 선택적 인수를 제공합니다.

2. 레벨

레벨 인수는 결과 MultiIndex의 레벨을 지정하는 데 사용됩니다. 기본적으로 Pandas는 키 인수에서 레벨을 추론합니다. 그러나 시퀀스 목록을 level 인수에 전달하여 추론된 수준을 재정의할 수 있습니다.

예를 들어 다음 코드는 두 수준의 MultiIndex를 사용하여 행을 따라 두 DataFrame을 연결합니다.

<code class="python">df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
df2 = pd.DataFrame({'C': [5, 6], 'D': [7, 8]})

df = pd.concat([df1, df2], keys=['df1', 'df2'], levels=['level1', 'level2'])

print(df)

      level1 level2  A  B  C  D
0    df1     1    1  3  5  7
1    df1     2    2  4  6  8</code>

이 예에서 레벨 인수는 ['level1', 'level2']라는 두 시퀀스의 목록입니다. 그러면 'level1'과 'level2'라는 두 가지 수준이 있는 MultiIndex가 생성됩니다. 키 인수는 두 문자열의 목록입니다: ['df1', 'df2']. 이는 MultiIndex의 첫 번째 레벨과 두 번째 레벨에 각각 'df1' 및 'df2' 값을 할당합니다.

3. Keys

keys 인수는 결과 MultiIndex에 대한 키를 지정하는 데 사용됩니다. 기본적으로 Pandas는 입력 개체의 인덱스 레이블을 키로 사용합니다. 그러나 값 목록을 키 인수에 전달하여 기본 키를 재정의할 수 있습니다.

예를 들어 다음 코드는 세 가지 수준의 MultiIndex를 사용하여 행을 따라 두 개의 DataFrame을 연결합니다.

<code class="python">df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
df2 = pd.DataFrame({'C': [5, 6], 'D': [7, 8]})

df = pd.concat([df1, df2], keys=[('A', 'B'), ('C', 'D')])

print(df)

    level1 level2  A  B  C  D
0     A      B    1  3  5  7
1     C      D    2  4  6  8</code>

이 예에서 키 인수는 두 튜플의 목록입니다: [('A', 'B'), ('C', 'D')]. 그러면 'level1', 'level2', 'level3'의 세 가지 수준이 있는 MultiIndex가 생성됩니다. 키 인수는 'A' 및 'B' 값을 MultiIndex의 첫 번째 수준에 할당하고, 'C' 및 'D' 값을 MultiIndex의 두 번째 수준에 할당합니다.

4. Names

names 인수는 결과 MultiIndex의 수준 이름을 지정하는 데 사용됩니다. 기본적으로 Pandas는 입력 개체의 인덱스 레이블 이름을 레벨 이름으로 사용합니다. 그러나 문자열 목록을 names 인수에 전달하여 기본 이름을 재정의할 수 있습니다.

예를 들어 다음 코드는 두 수준의 MultiIndex를 사용하여 행을 따라 두 DataFrame을 연결합니다.

<code class="python">df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
df2 = pd.DataFrame({'C': [5, 6], 'D': [7, 8]})

df = pd.concat([df1, df2], keys=['df1', 'df2'], names=['level1', 'level2'])

print(df)

      level1 level2  A  B  C  D
0    df1     1    1  3  5  7
1    df1     2    2  4  6  8</code>

이 예에서 names 인수는 ['level1', 'level2']라는 두 문자열의 목록입니다. 이는 MultiIndex의 첫 번째 레벨과 두 번째 레벨에 각각 'level1'과 'level2'라는 이름을 할당합니다.

위 내용은 Pandas\' concat 함수의 \'levels\', \'keys\' 및 \'names\' 인수는 어떻게 MultiIndex를 생성하는 데 작동합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.