반응형

18-04 튜플형태 반복자 반환 (itertuples)

DataFrame.itertuples(index=True, name='Pandas')

 

개요


itertuples 메서드는 데이터의 인덱스, 열-값 정보를 map오브젝트의 튜플 형태로 반환하는 메서드입니다.
튜플은 name인수를 통해 원하는named tuple로 출력이 가능합니다.

 

사용법


기본 사용법
※ 자세한 내용은 아래 예시를 참고 바랍니다.
df.itertuples(index=True, name='Pandas')
index : 인덱스를 출력할지 여부 입니다.
name : 출력하게 될 named tuple의 이름을 지정합니다. None으로 하면 일반 튜플로 출력되며 기본값은 Pandas입니다.

반응형

 

예시


먼저 기본적인 사용법 예시를위하여 2x2 짜리 데이터를 만들어 보겠습니다.

data = {'col1':[1,2],'col2':[3,4]}
idx = ['row1','row2']
df = pd.DataFrame(data = data, index=idx)
print(df)
>>
      col1  col2
row1     1     3
row2     2     4


기본적인 사용법
df.itertuples() 형태로 사용가능하며 기본적으로 map 오브젝트로 반환하기 때문에, list, next, for문 등으로 확인이 가능합니다.

print(df.itertuples())
>>
<map object at 0x0000027D368BCE80>

list를 이용해 출력해보면, 구성이 튜플(인덱스, 열=값, 열=값...) 형태인 것을 확인할 수 있습니다.

print(list(df.itertuples()))
>>
[Pandas(Index='row1', col1=1, col2=3), Pandas(Index='row2', col1=2, col2=4)]


index인수의 사용
index=False로 입력할 경우 반환되는 튜플값에서 인덱스 정보가 제외됩니다.

print(list(df.itertuples(index=False)))
>>
[Pandas(col1=1, col2=3), Pandas(col1=2, col2=4)]


name인수의 사용
name인수를 지정해주면, 튜플이 namedtuple 형태로 반환됩니다. 기본값은 Pandas이며 None 입력시 일반 튜플로 반환합니다.

print(list(df.itertuples(name=None)))
>>
[('row1', 1, 3), ('row2', 2, 4)] #일반 튜플로 반환
print(list(df.itertuples(name="테스트")))
>>
[테스트(Index='row1', col1=1, col2=3), 테스트(Index='row2', col1=2, col2=4)] # 지정된 name으로 namedtuple 반환
반응형

+ 최근 글