기본 코드 ~ 함수
import pandas as pd
df = pd.read_csv('iris.csv')
df.head()
👉 판다스 불러오고, 데이터프레임 받고 위의 일부 데이터 확인
df.index
df.columns
👉 얘네 은근 중요!
인덱스만 따로 뽑고 싶다면 df.index 객체
df.columns : 열 이름 활용해서 쉽게 원하는 데이터 추출 가능
df['sepal.length'].nlargest(3)
df['variety'].unique()
df['variety'].nunique()
👉 활용도 높은 친구들
nlargest : 가장 큰 수치 n개 / unique : 중복 제거한 값 추출 / nunique : 중복 제거한 값의 개수
df[df.columns[2]][4:].head()
👉 [ ] 안에 columns 객체 넣어서 정수로 열 뽑기 + 해당 열의 5번째 행부터 추출 + 앞의 일부 행 표시
df.loc[0:4,df.columns[4]]
df.iloc[0,0]
👉 좌표 관련 함수들
loc : 행은 정수, 열은 열 이름 / iloc : 행과 열 모두 정수 (좌표평면 스타일. 숫자이기에 응용가능성 높음)
filter = (df[df.columns[4]] == 'Setosa') | (df['petal.length'] >= 1.4)
df[filter][['sepal.length','sepal.width']].head()
👉 필터 객체 만들어서 조건에 맞는 데이터 찾기 (필터 적용하고 두개의 열 추출)
and 나 or 활용할 때 괄호로 조건 묶기 주의!
df1 = pd.concat([df[df.columns[4]],df[df.columns[:4]]], axis = 1)
df1.head()
👉 concat : 데이터프레임 열 합치기 ( 행 방향 합치기인 axis = 0 이 기본값. )
df1.rename(columns = {'variety' : 'variety1'}, inplace = True)
df1.head()
👉 열 이름 바꾸기 ( 기존이름 : 새로운 이름 )
def cm_func(x) :
return str(x) + 'cm'
df1['test'] = df1[df1.columns[1]].apply(lambda x : cm_func(x))
df1.head()
👉 함수 정의 + apply ( 각각의 열에 대해 함수 적용) + lambda ( 각각의 행 데이터 : f(x) )
문자열 관련
filter1 = df['variety'].str.startswith('V')
filter2 = df['variety'].str.contains('V')
df[filter2].head()
👉 특정 조건에 맞는 문자열 찾기
startswith : ~ 로 시작 / contains : ~ 를 포함
vari = ['versicolor','setosa']
filter = df['variety'].str.lower().isin(vari)
df[filter].head()
df['variety'] = df['variety'].str.lower()
df.head()
👉 isin : 변수로 들어간 리스트에 있는 문자열과 일치하는 데이터 추출 / lower : 대문자에서 소문자로
그룹화
df1.groupby('variety').get_group('setosa').head()
👉 그룹화 --> 특정 그룹 추출
gr_var = df1.select_dtypes(include = 'number').groupby(df1['variety'])
gr_var.mean().sort_values('sepal.length', ascending = False)
👉 그룹 객체 형성 ( + 데이터 종류 설정 ) --> 그룹별 평균 --> sepal.length 평균 기준으로 내림차순 정렬
df1.groupby('variety').size()
df1.groupby('variety').count()
👉 size = 결측치 포함 개수 / count = 결측치 제외 개수
test1 = []
for x in range(150):
if x%2 == 0 :
test1.append('A')
else :
test1.append('B')
df1['test1'] = test1
df1.groupby('variety')['test1'].value_counts()
df1.groupby('variety')['test1'].value_counts(normalize = True)
df1.groupby('variety')['test1'].value_counts(normalize = True)['setosa']
👉테스트용 리스트를 구성하고 난 후 데이터프레임의 새로운 열로 추가
👉value_count : 중복을 제외한 개수 표시 ( normalize 옵션 : 비율 제공 )
❗2번째 코드 : variety 로 그룹화 --> test1 열 추출 --> test1 열의 ABC 값들의 개수 비율 제공
관련 포스팅
파이썬 데이터 분석 쌩 기본기 : matplotlib 시각화 기초 (1)
파이썬 데이터 분석 쌩 기본기 : matplotlib 시각화 기초 (1)
1번 예시val_c = df.groupby('fl')['cty'].mean()val_h = df.groupby('fl')['hwy'].mean()plt.figure(figsize = (10,5))plt.plot(df['fl'].unique(), val_c, c = 'red', lw = 1, alpha = 0.5, marker = 'o', ms = 3, mec = 'black', mfc = 'gray', ls = 'dotted', label =
skrrdevlog.tistory.com
[파이썬] 미국 경제 데이터셋으로 머신러닝 배우기 <선형회귀>
[파이썬] 미국 경제 데이터셋으로 머신러닝 배우기 <선형회귀>
데이터R의 ggplot2 라이브러리의 "economics" 데이터를 활용했습니다. https://ggplot2.tidyverse.org/reference/economics.html US economic time series — economicsThis dataset was produced from US economic time series data available from h
skrrdevlog.tistory.com
'Coding & Data Analysis > Python' 카테고리의 다른 글
파이썬 데이터 분석 쌩 기본기 : matplotlib 시각화 기초 (2) (1) | 2024.12.26 |
---|---|
파이썬 데이터 분석 쌩 기본기 : matplotlib 시각화 기초 (1) (0) | 2024.12.26 |
[Python] 다중 막대 그래프와 array 오류 해결하기 (5) | 2024.09.21 |
[Python] Apply 함수 : 복수 인자 사용하는 방법 (1) | 2024.09.15 |
[Python] Colab 으로 데이터 분석 시작하기 - 중간 점검 (0) | 2024.09.15 |