본문 바로가기
728x90

Data Analytics with python114

[Pandas][Series] S1_06_Reading data (CSV) In [1]: import pandas as pd In [9]: prices = pd.read_csv('/content/sample_data/prices.csv', squeeze=True) squeeze는 차원을 축소(압축)한다. 예를들어 한개의 행이나 열만 있는 DataFrame을 squeeze하면 Series 객체가 됩니다. 1개 인덱스만 있는 Series를 squeeze하면 스칼라값이 됩니다. 마찬가지로 1행,1열만 있는 DataFrame 객체를 squeeze하면 스칼라 값이 됩니다. In [10]: # automatic formatting - 파이썬은 자동으로 포맷된다. prices Out[10]: 0 2.55 1 3.39 2 2.75 3 3.39 4 3.39 ... 366514 2.10 3665.. 2023. 1. 17.
[Pandas][Series] S1_05_Methods: 기본 함수 In [1]: import pandas as pd In [2]: # examples s1 = pd.Series(data = [100, 300, 500, 1000, 1500]); s1 Out[2]: 0 100 1 300 2 500 3 1000 4 1500 dtype: int64 In [3]: # sum s1.sum() Out[3]: 3400 In [4]: # multiplication s1.product() Out[4]: 22500000000000 In [5]: # average s1.mean() Out[5]: 680.0 In [6]: # show the first cople of elements #s1.head(2) Out[6]: 0 100 1 300 dtype: int64 In [9]: # create.. 2023. 1. 17.
[Pandas][Series] S1_04_Attributes: 기본 속성 In [1]: import pandas as pd Attributes / Properties : do not use parantehsees(소괄호) "()" ① use parantheses in Methods: "()"은 인자를 포함하고 시리즈 객체를 바꾸는 경우 사용한다. ex) data.heand() ② use square brackets in Indexers : "[]"은 시리즈나 데이터 프레임 안에 구체적인 요소에 접근할 경우 사용한다. ex) data.loc[], data.iloc[] In [2]: # example1 list1 = ['NVDA','MSFT','META','AMZN','GOOGL'] s1 = pd.Series(data = list1); s1 Out[2]: 0 NVDA 1 MSFT.. 2023. 1. 17.
[Pandas][Series]S1_03_A Dictionary: 사전 정의 In [1]: import pandas as pd A Dictionary: A collection of key-value pairs In [2]: dict1 = {'Client ID' : 101, 'Client Name' : 'David', 'Net worth [$]' : 1500, 'Years' : 12} In [3]: # Show dict1 Out[3]: {'Client ID': 101, 'Client Name': 'David', 'Net worth [$]': 1500, 'Years': 12} In [4]: # datatype type(dict1) Out[4]: dict In [5]: s1 = pd.Series(dict1); s1 Out[5]: Client ID 101 Client Name David.. 2023. 1. 17.
[Pandas][Series] S1_02_custom_index: 사용자 지정 인덱스 In [1]: import pandas as pd In [3]: # 5 stocks list1 = ['NVDA','MSFT','META','AMZN','GOOGL']; list1 Out[3]: ['NVDA', 'MSFT', 'META', 'AMZN', 'GOOGL'] In [4]: # index labels1 = ['#1','#2','#3','#4','#5']; labels1 Out[4]: ['#1', '#2', '#3', '#4', '#5'] In [6]: s1 = pd.Series(data = list1, index = labels1); s1 Out[6]: #1 NVDA #2 MSFT #3 META #4 AMZN #5 GOOGL dtype: object In [8]: # datatype type(s1.. 2023. 1. 17.
[Pandas][Series] S1_01_Numeric Default Index: 기본 인덱스 In [1]: import pandas as pd In [5]: # example : Enterprise list1 = ['Nvidia','Microsoft','META','Amazon','Alphabet'] In [6]: # confirming the Datatype type(list1) Out[6]: list https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.html In [8]: # pandas.Series # numeric index has been automatically generated s1 = pd.Series(data = list1); s1 Out[8]: 0 Nvidia 1 Microsoft 2 FaceBoo.. 2023. 1. 17.
[실전 연습] 보험료 예측 (insurance) 핵심 포인트 : EDA / 결측치 시각화 / Regression 01. 데이터 수립¶ https://www.kaggle.com/datasets/simranjain17/insurance In [30]: # 필요한 라이브러리 import pandas as pd import seaborn as sns import matplotlib.pyplot as plt import missingno import numpy as np from sklearn.preprocessing import OneHotEncoder from sklearn.preprocessing import LabelEncoder from sklearn.preprocessing import MinMaxScaler from sklearn.preproces.. 2023. 1. 17.
[matplotlib & seaborn] 기초 명령어 seaborn 산점도, 회귀선 : 두 변수 간의 상관관계를 확인 선그래프, 막대그래프 : 시간의 변화에 따른 추이를 확인 박스플롯 : 데이터 분포의 중앙값을 확인 바이올린플롯 : 데이터의 최대값, 최소값을 확인 히스토그램 : 데이터의 분포 히트맵 : 여러 가지 변수를 한 번에 비교 데이터셋 In [54]: import seaborn as sns import pandas as pd In [55]: # print(dir(sns)) In [56]: print(sns.get_dataset_names(), end='') ['anagrams', 'anscombe', 'attention', 'brain_networks', 'car_cras.. 2023. 1. 8.
[pandas] 기초 명령어 탐색 df.head(number) : 처음 다섯 개의 로우를 출력 df.shape : 몇 개의 로우와 행으로 이루어져 있는지 확인 df.describe() # include = 'all' : 통계 지표를 확인 df.info() : 데이터의 구조를 파악 (몇 개의 컬럼, 각 컬럼에 포함된 데이터들의 타입 등) df['칼럼명'].unique() : 카테고리형 데이터의 종류를 파악 df['칼럼명'].unique() : 카테고리형 데이터의 고유값의 총 수 df['컬럼명'].value_counts() : 카테고리형 데이터의 개수를 확인 정렬 df.sort_values(by = ['칼럼명'], ascending = False) df.sort_index(ascending = False) 선택 df['컬럼명'] df[.. 2023. 1. 8.
클래스(class)와 객체(object)와 인스턴스(instance) 구분 클래스는 객체를 정의하고 만들기 위한 변수와 메서드로 구성합니다. 클래스를 잘 설명하기 위해 주로 어떤 걸 계속 찍어내는 모형 틀에 비유합니다. 똑같은 일을 하는 걸 반복하기 쉽게 만들어 주기 때문입니다. 혹시, 붕어빵 타이쿤이라는 게임을 들어본 적이 있나요? (붕어빵을 반복적으로 만들어 파는 게임) 저는 클래스를 붕어빵을 계속 찍어주는 틀로 이해해보았습니다. 클래스(class) : 붕어빵틀, 객체(object) : 붕어빵, 인스턴스(instance) : 경로 붕어빵 틀로 찍어낸 여러 개의 붕어빵이 생기게 되고 각각 하나의 붕어빵은 객체입니다. 이런 붕어빵 틀로 만든 붕어빵은 서로 독립적입니다. 독립적이란 표현은 서로 영향을 미치지 않는다는 의미입니다. 하나의 붕어빵을 입에 베어 물어도 다른 붕어빵은 멀.. 2022. 3. 1.
[데이터프레임] Dataframe이란 pd.DataFrame(data = None, index = None, columns = None, copy = None) Series는 1차원, DataFrame은 2차원 매개변수 (parameter) data : ndarray(판다스 배열), Iterable(반복 가능한 객체), dictionary(키:값), DataFrame(행렬) index : 행 레이블, 인덱스 또는 배열 형태 columns : 열 레이블, 인덱스 또는 배열 형태 dtype : 데이터 유형을 보여준다. default = None copy : True / False, True이면 원본 보호되고 False면 원본 보호 안 됨 In [1]: import numpy as np import pandas as pd In [9]: dt = .. 2022. 2. 28.
PCA (Principal Component Analysis) : 주성분 분석 개요 PCA는 여러 변수 간에 존재하는 상관관계를 이용하여 가장 대표하는 주성분(PC)을 추출해 차원을 축소하는 기법입니다. PCA로 차원을 축소할 경우 기존 데이터의 정보 유실을 최소화 해야합니다. 따라서 PCA는 가장 높은 분산을 찾는 방향으로 데이터의 축을 설정해 차원을 축소합니다. 즉, 분산이 데이터의 특성을 가장 잘 나타낸다고 가정합니다. 여기서 분산은 데이터가 널리 퍼져있는 정도를 말합니다. 첫 번째 주성분은 분석이 가장 큰 대각 선 방향으로 축을 찾습니다. 두 번째 주성분은 첫 번째 축에 직교하고 남은 분산을 최대한 보존하는 축을 찾습니다. 더 고차원 데이터셋이라면 이전의 두 축에 직교하는 축을 찾으며 데이터셋에 있는 차원의 수만큼 축을 찾아가는 과정입니다. 따라서 주성분 벡터의 원소 개수는 원본.. 2022. 2. 28.
matplotlib 한글 깨짐 현상 matplotlib 한글 폰트 깨짐 수정하는 법 폰트의 이름 출력 In [1]: import matplotlib as mpl import matplotlib.pyplot as plt import matplotlib.font_manager as fm In [2]: print('버전 :', mpl.__version__) print('설치 :', mpl.__file__) print('설정 :', mpl.get_configdir()) print('캐시 :', mpl.get_cachedir()) print('설정파일 :', mpl.matplotlib_fname()) 버전 : 3.2.2 설치 : C:\Users\kang\anaconda3\lib\site-packages\matplotlib\__init__.py 설정.. 2022. 2. 25.
내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는배치 파일이 아닙니다. !wget은 jupyter notebook에서는 실행이 안되는 문제가 발생한다. In [19]: !wget https://bit.ly/fruits_300_data -O fruits_300.npy 'wget'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 주피터 노트북에서 해결하는 법 1) wget 라이브러리 설치 먼저 wget을 teminal에 설치한다 In [1]: pip install wget Requirement already satisfied: wget in c:\users\kang\anaconda3\lib\site-packages (3.2) Note: you may need to restart the kernel to use updated packages... 2022. 2. 25.
728x90