본문 바로가기
자기계발/파이썬기초

[파이썬 기초] 파알못을 위한 핵심 정리 3탄 (리스트, 튜플, 딕셔너리, 데이터프레임)

by 딩동동 2022. 11. 30.
파이썬을 1도 모르는 이를 위한 핵심 정리 3탄

  • 리스트는 [  ] 를 사용하여 설정할 수 있다.
  • 리스트의 원소는 리스트도 될 수 있다.
  • 2차원 리스트에서 특정 행을 얻으려면 [  ] , 특정 열을 얻으려면 row를 사용한다.
  • 튜플은 (  ) 를 사용하여 설정할 수 있다.
  • 튜플은 리스트와 달리 최초 설정된 이후 수정이 불가능하다.
  • 딕셔너리는 {  } 에 인덱스값과 자료의 값을 : 으로 연결한다. 
  • 딕셔너리에 인덱스를 사용하면 오류가 발생한다.
  • 딕셔너리에서 키값은 keys 함수, 자료값은 values, 키와 값의 짝으로 보려면 items 함수를 사용한다.
  • 기본적으로 파이썬은 Shallow copy 이다. (둘 중 하나의 자료를 수정하면 복사된 다른 자료도 함께 수정됨)
  • 리스트는 값만 복사하려면 copy모듈의 deepcopy 함수를 사용한다. (import copy as cp)
  • 배열의 값만 복사하려면 copy함수를 사용한다. 
  • 데이터프레임은 pandas 패키지의 DataFrame 을 사용하여 생성할 수 있다.
  • 리스트.딕셔너리.배열을 → 데이터프레임으로 변환할 수 있다.
  • iloc 를 사용하여 특정 행과 열을 추출할 수 있다.

 

[3] 파이썬의 리스트와 튜플, 딕셔너리, 데이터프레임

 

● 리스트(list)

 

1차원 리스트는 [  ] 를 사용하여 설정할 수 있고

특정 위치의 원소는 배열과 동일한 방법으로 값의 위치를 설정하여 얻을 수 있습니다.

1차원 리스트 설정

 

그리고 리스트의 원소는 리스트도 될 수 있습니다.

리스트의 원소 형태

 

행렬 형태의 2차원 리스트는 각 행의 값을 원소로 지정하여 설정할 수 있습니다.

특정 위치의 값을 얻고자 할 때는 [  ][  ] 로 행과 열 번호를 설정하여 위치를 지정합니다. 

2차원 리스트 설정 및 특정 값 추출

 

특정한 행 전체를 얻으려면 행번호만 입력하면 되고

특정한 열 전체를 얻으려면 row를 사용합니다. 

특정 행과 열 추출 (row)

 

● 튜플(tuple)

 

리스트와 유사하지만 2가지 차이점이 있습니다.

① 튜플은 [  ] 대신 (  ) 를 사용합니다.

② 튜플의 값은 수정 할 수 없습니다.

튜플의 설정

 

● 딕셔너리(dictionary)

 

딕셔너리는 인덱스가 0 부터 시작하는 정수가 아니라 특정한 이름을 갖도록 선언 하는 것입니다.

{  } 를 사용하여 인덱스(key)의 값과 자료의 값을 : 로 연결합니다. 

딕셔너리의 설정

 

여기서 주의해야 할 점은 키값에 인덱스를 사용하면 에러가 발생합니다. 

딕셔너리에서의 인덱스 사용

 

따라서 딕셔너리에서 key값만 보려면 → keys 함수

딕셔너리에서            해당값만 보려면 → values 함수

딕셔너리에서            키와 해당값의 짝으로 보려면 → items 함수 

keys,values,items 함수의 사용

 

● 리스트와 배열의 복사 (Deepcopy)

 

파이썬에서 리스트와 배열을 복사할 때

주의할 점이 한가지 있습니다.

 

기본적으로 파이썬은 shallow copy 입니다.

리스트A = 복사한 리스트 A1이 같은 주소를 사용하여 저장하기 때문에

둘 중 하나만 값을 바꾸어도 둘 다 바뀌게 됩니다. 

shallow copy

 

따라서 A와 A1을 별개의 주소로 따로 복사하려면

copy 모듈의 deepcopy 함수를 사용해야 합니다. (import copy as cp)

deep copy

 

배열도 리스트와 마찬가지로 copy 함수를 사용하여

별개의 배열을 생성할 수 있습니다.

배열의 복사

 

● 데이터프레임(dataframe)

 

데이터 프레임은 쉽게 엑셀의 시트라고 생각하면 편합니다.

기본형태는 행렬 or 2차원 배열 입니다.

pandas 패키지의 DataFrame 을 사용하여 생성할 수 있습니다. 

 

● 리스트를 → 데이터프레임으로 변환하기

리스트를 데이터프레임으로 변환

 

● 딕셔너리를 → 데이터프레임으로 변환하기

딕셔너리를 데이터프레임으로 변환

 

● 배열을 → 데이터프레임으로 변환하기

배열을 데이터프레임으로 변환

 

● 특정 데이터 추출하기

 

특정한 행 추출은 :  DataFrame의 iloc 를 사용합니다. 

iloc메소드를 사용하여 행 추출

 

특정한 열 추출은 :  열 이름을 설정하거나, 여러 개의 열을 한번에 얻으려면 열이름을 리스트로 설정하면 됩니다.

특정한 행 추출은 :  행과 마찬가지로 DataFrame의 iloc 를 사용하여 추출이 가능합니다. 

 

열 이름을 설정하여 특정한 열을 추출

 

열 이름을 "리스트"로 설정하여 여러 개의 열을 한꺼번에 추출

 

iloc 메소드를 사용하여 특정 열을 추출

 

iloc메소드를 사용하여 행과 열을 한꺼번에 추출

 

나도 할 수 있다 파이썬 !

댓글