# 데이터 그래프의 종류

# 샘플 데이터
import seaborn as sns
iris = sns.load_dataset("iris")
iris

# species 확인하기
species = iris['species'].unique()
species
# 결과
array(['setosa', 'versicolor', 'virginica'], dtype=object)
# 붓꽃(iris) 데이터셋에서 각 종(species)별로 꽃받침(sepal)의 길이를 리스트로 저장
sepal_lengths_list = [iris[iris['species'] == s]['sepal_length'].tolist() for s in species]
sepal_lengths_list
[ 결과 ]
2차원 배열로 나온다

※ 이 상황에서는 tolist()를 사용함으로써 데이터프레임을 리스트로 만들었
리스트, 시리즈, 데이터프레임에 대해서 확실하게 구별하자!
# 리스트와 시리즈의 데이터 타입
import pandas as pd
# 리스트 생성
my_list = [1, 2, 3, 4, 5]
print("List dtype:", type(my_list))
# 시리즈 생성
my_series = pd.Series([1, 2, 3, 4, 5])
print("Series dtype:", type(my_series))
[ 결과 ]
List dtype: <class 'list'>
Series dtype: <class 'pandas.core.series.Series'>
# 데이터프레임 생성
import pandas as pd
# 데이터프레임 생성
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
print(type(df))
print(df)
[ 결과 ]

# 리스트로 바꾸기
df.values는 데이터프레임의 값들을 numpy 배열로 반환한다
[[1, 4],
[2, 5],
[3, 6]]
tolist()
그 후에 tolist() 메서드를 사용하여 numpy 배열을 리스트로 변환하면서 각 행을 리스트로 변환합니다.

이렇게 들어간다
df_as_list = df.values.tolist()
print(df_as_list)
[ 결과 ]
[[1, 4], [2, 5], [3, 6]]
# 그렇다면 열 방향으로 리스트를 생성할 수 있을까?
transpose()를 이용하면 된다
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
# 데이터프레임을 리스트로 변환
df_as_list = df.transpose().values.tolist()
df_as_list
[ 결과 ]
[[1, 2, 3], [4, 5, 6]]
※ 리스트와 넘파이 배열의 차이점
중요한 것
Python list는 list.append(), list.pop()를 통해서 자유롭게 원소 변경 및 크기 변경이 가능하다.
반면, numpy array는 만들어지고 나면 메서드를 통해 원소의 update는 가능하지만, array의 크기를 변경할 수는 없다.
* array의 크기란 array.shape 했을 때 확인 할 수 있는 값인데,
예를 들어 array.shape 값이 (3, 4)라면 3행에 4열의 크기를 가지고 있는 array라는 것이다.
[Python] list와 Numpy array 차이 (+ numpy array 언제 쓰는가?)
오늘의 물낌표 1) Python list와 Numpy array의 차이 세 가지 2) Numpy array는 언제 쓰는가? 첫 번째 Python list와 Numpy array 선언 차이 1) 각 자료형이 다를 때 Python list는 숫자형이나 문자형 여러 가지 자료형
wnwa.tistory.com
< 5. Box Plot >
연속형 데이터의 분포
중앙값, 사분위수, 최소값, 최대값, 이상치 확인
# 박스플롯 예제
plt.boxplot(sepal_lengths_list, labels=species)
plt.show()

# 박스플롯 예제2
sns.boxplot(x='species', y='sepal_length', data=iris)
plt.show()

< 6. Scatter Plot >
두 변수 간 관계
변수 간의 관계, 군집, 이상치 등 확인
# Scatter 예제
plt.scatter(iris['sepal_length'], iris['sepal_width'])
plt.xlabel('Petal length')
plt.ylabel('Petal width')
plt.show()

'Knowledge🦢 > 데이터 분석' 카테고리의 다른 글
| [Pandas 개인과제] Iris 데이터 (아이리스, 붗꽃 데이터)를 활용한 Pandas 활용 과제! (0) | 2024.05.16 |
|---|---|
| [Pandas] 판다스의 Series와 Numpy array의 차이점 (0) | 2024.05.13 |
| [데이터 전처리&시각화 5] 데이터 시각화 (Matplotlib) - 라인, 바, 히스토그램, 파이 (0) | 2024.05.12 |
| [데이터 전처리&시각화 4] 데이터 집계, 데이터 정렬 (0) | 2024.05.10 |
| [데이터 전처리&시각화 3] 불리언 인덱싱, 데이터 병합 (0) | 2024.05.10 |