데이터분석/Python

<Python> dictionary 자료형의 list 자료형으로 변환

창조적생각 2021. 8. 27. 00:07

<목차>

 

1. 단순변환

list()

 

2. 정렬하여 변환

 

 (1) key 값을 이용하여 정렬하여 변환

*key값으로 정렬하면서 key와 value 모두 그 정렬에 따라 list로 변환하기

  

 (2) value 값을 이용하여 정렬하여 변환

 

 

 

1. 단순변환 list()

 

dictionary 자료를 list로 변환하기 위해서는

 

list(dic자료 변수명)을 사용해주면 됩니다.

이렇게 하면 key값으로 구성된 list 가 형성됩니다.

 

value로 구성된 list를 생성하려면

 

list(사전.values())

 

를 사용해주면 됩니다.

(key,value)의 형태를 가진 튜플로 구성된 리스트로 변환하기 위해서는

 

list(zip(사전.keys(),사전.values()))

 

으로 zip()으로 묶어서 만들어주면 됩니다.

2. 정렬하여 list로 변환

일별 확진자수를 확인하기 위해 value_counts()를 사용하고 to_dict()를 통해 사전형 자료로 만들자 value를 기준으로 정

 

렬되었습니다.

 

이 사전형 자료를 다시 원하는 기준으로 정렬해서 리스트로 만드는 방법입니다.

 

(1) key 값을 정렬하여 list로 변환

 

sorted(Dict.keys())

 

를 사용하여 key값을 이용하여 정렬할 수 있습니다.

 

sorted()의 기본 정렬은 ascending 오름차순 형식입니다. 따라서 descending 내림차순 형식으로 정렬하려면

 

sorted(Dict.keys(),reverse=True)

 

를 사용해주시면 됩니다.

 

저는 이 자료를 이용하여 그래프를 그리고 싶습니다.

 

그러니 단순히 key값만 정렬하고 value에 영향을 끼치지 못한다면 아무런 소용이 없는 것이겠지요.

 

그러므로 (key,value)형태의 튜플들로 구성된 list를 형성하고 key값의 정렬기준에 따르는 리스트로 변환시켜 보겠습니다.

 

그러기 위해서는

 

sorted(dict.items())를 사용해주면 됩니다.

 

그리고 여기에서 key와 value를 각각의 리스트로 뽑아내려면

1
2
3
4
5
6
7
8
9
10
 
날짜별확진자수 = []
날짜 = []
수 = []
 
날짜별확진자수 = sorted(Dict.items())
 
for key,value in 날짜별확진자수:
    날짜.append(key)
    수.append(value)
cs

for 문을 사용하여 뽑아낼 수 있습니다.

이렇게 하면 기준을 공유하여 정렬된 key와 value로 구성된 list를 뽑아낼수 있습니다.

 

value를 기준으로 정렬을 하기위해서는

 

sorted(Dict.keys()) 대신에 sorted(Dict.values())를 사용하시면 됩니다.

 

 

 

728x90