작성자 : 박준현
진도 : 1주차 처음 ~ 실습 전까지
1주차에서는 그동안 배웠던 파이썬의 기초에 대해서 간단하게 복습해보는 시간을 가졌다.
boolean형
불린형에서 가장 중요한 포인트는
"True == 1"
"False == 0"
인 것 같다.
주의) 문자열과 정수형 조심, 불린형의 True와 False모두 단어의 첫글자가 대문자임
즉 True는 1을 치환할 수 있는 것이다.
True + True = 2가 나옴을 확인할 수 있다.
>>> True + True
2
물론 True가 1을 , False가 0을 완전히 치환한다고 할 수는 없다.
왜냐면 자료형이 서로 다르기 때문.
하지만 자료형이 다른 점만 제외하면 서로 치환하여 사용이 가능하다!
>>> type(1) == type(True)
False
>>> if 1:
print('True is one')
"True is one"
(위의 코드는 if True와 동일하기 때문에 항상 print된다.)
이처럼 boolean형은 1과 0으로 치환이 가능하다는 점을 사용하여 좀 더 다채로운 코딩이 가능해질 것 같다.
문자열과 리스트(string and list)
문자열과 리스트는 각각의 값이 인덱스를 가지고 있다는 점에서 공통점을 지니고 있다.
리스트는 물론이고, 문자열도 각각의 값이 각각의 인덱스를 지니고 있다!
즉 리스트처럼 활용이 가능함.
>>> str = 'I am the best'
>>> for i in str:
print(i)
I
a
m
t
h
e
b
e
s
t
즉 위와 같이 for문도 사용이 가능하다.
하지만 리스트와 문자열에는 큰 차이점이 존재한다.
리스트는 인덱싱을 통해 특정 인덱스의 값을 수정할 수 있지만, 문자열은 특정 인덱스의 수정이 불가능하다!
>>> str = 'I am the best'
>>> list_1 = [1, 2, 3, 4]
>>> list_1[0] = 3
>>> print(list_1)
[3, 2, 3, 4]
>>> str[0] = 1
#syntax error
위 점을 유의하여 문자열을 활용해야 한다.
- 작성자 : 김세언
- 범위 : ~ Dictionaries
문자열
# 포인트 : 리스트처럼 생각한다. 글자 하나하나가 상대적인 주소를 가짐!
# 문자열의 연산 ==> 문자열끼리만 가능! 문자와 숫자를 더하려고 하면 에러가 발생한다.
# 덧셈 기능을 이용해 문자열을 이어서 쓸 수 있다.
# 곱하기 기능을 이용해 문자열을 반복해서 이어붙일 수 있다.
# 문자열을 처리하는 다양한 내장함수가 있다.
# strip() - 문자열 사이의 양 옆 공백을 제거한다.
# split() - 공백으로 문자열을 분리한다.
# 슬라이싱으로 문자열의 일부를 가져오는 것도 가능하다! (리스트와 유사)
# startswith 를 사용하면 특정 문자로 시작하는지의 여부를 확인할 수 있다.
# in 을 사용하게 되면 특정 문자열을 포함하고 있는지 여부를 확인할 수 있다.
리스트
# 여러 값을 // 자료형에 상관없이
# 순서를 고려하여 (인덱스가 존재) // 하나의 변수에 할당 (시퀀스 자료형)
# 데이터가 많아지면 배열 [] 에 담아 관리하는 것.
# 변수명 = [value1, value2, value3, ...]
# 값에는 다양한 자료형을 포함할 수 있다.
# 인덱싱 - 리스트에 있는 값에 "접근"하기 위해, 이 값의 상대적인 주소를 사용
# 파이썬은 인덱싱을 0, 1, 2 순서로 할당한다. (마지막 원소는 -1)
# 슬라이싱 - 리스트의 인덱스를 사용하여 전체 리스트에서 일부를 잘라내어 "반환"
# 변수명 [시작인덱스:마지막인덱스:증가]
# 마지막 인덱스 - 1 까지 출력
# " ".join(리스트) 를 사용하면 리스트를 공백 문자열을 연결할 수 있다.
# in 을 사용하게 되면 리스트에 해당 데이터를 포함하고 있는지 여부를 확인할 수 있다.
딕셔너리
# dict 자료형 - key:value
# 키와 값을 가지는 자료형을 딕셔너리라 한다.
# 연관성 있는 데이터끼리는 딕셔너리에 잘 응집시켜서 관리한다.
# enumarate 함수
# 반복문을 사용할때 리스트의 순서값, 즉 인덱스의 정보가 필요한 경우가 있다.
# enumerate함수는 리스트의 원소에 순서값을 부여해주는 함수이다.
- 작성자 : 인시환
- 범위 : ~ series
판다스 라이브러리가 무엇일까?
판다스(Pandas)는 데이터 조작 및 분석을 위한 Python 라이브러리이다. 이 라이브러리를 사용하면 구조화된 데이터를 효율적으로 처리하고 조작할 수 있다.
Series
판다스의 Series는 1차원 배열로, 인덱스를 가지는 데이터의 리스트라고 생각할 수 있다. 각 요소는 인덱스를 통해 접근할 수 있다.
import pandas as pd
# 리스트로 Series 생성
data = [10, 20, 30, 40]
series = pd.Series(data)
print(series)
일정한 값을 가지는 시리즈를 생성했다.
0 10
1 20
2 30
3 40
dtype: int64
다음과 같이 출력된다.
# 인덱스로 접근
print(series['b']) # 출력: 20
Dataframe
DataFrame은 2차원 데이터 구조로, 행과 열로 구성된 데이터 테이블이다. 우리가 자주 볼 수 있는 엑셀 스프레드시트와 유사한 형태이다.
import pandas as pd
# 2차원 리스트로 DataFrame 생성
data = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
# 열 이름을 지정하여 DataFrame 생성
df = pd.DataFrame(data, columns=['A', 'B', 'C'])
print(df)
이를 통해 DataFrame을 생성했다.
A B C
0 1 2 3
1 4 5 6
2 7 8 9
다음과 같이 행과 열을 가지는 2차원 형태의 데이터로 출력된다.
- 작성자 : 소정인
- 범위 : subset~reshaping
Subset (일부 값만 불러오기)
# Rows 기준 예시
df[df.Length > 7]
#Columns 기준 예시
df[['width','length','species']]
*주의: 두 개 이상의 값을 불러 올때는 Dataframe 형태로 불러와야 합니다
ex) df['a','b'] -> 두 개 이상의 값을 불러올 때 Series 형태로 불러올 경우 키값 오류가 발생합니다
따라서 df[['a','b']] 인 Dataframe 형태로 불러와야 합니다
Summerize Data
Categoricla 한 값의 빈도수를 구하는 방법입니다
df['a'].value_counts()
결과 :
6 1
5 1
4 1
Name: a, dtype: int64
Reshaping
sort_values, drop
1) 'a'컬럼을 기준으로 정렬하기
df['a'].sort_values()
결과:
1 4
4 4
2 5
3 6
Name: a, dtype: int64
2) DataFrame 전체에서 'a'값을 기준으로 정렬하기
df.sort_values('a')
결과:
a b c
1 4 7 10
4 4 9 10
3 5 8 11
2 6 9 12
3) 역순으로 정렬하기
df.sort_values('a', ascending=False)
결과:
a b c
3 6 9 12
2 5 8 11
1 4 7 10
4 4 9 10
4) 'C' 컬럼 drop 하기
df=df.drop(['c'], axis=1)
df
결과:
a b
1 4 7
2 5 8
3 6 9
4 4 9
작성자: 박지호
범위: 2.2 Group Data
Group by
한 컬럼값을 기준으로 다른 컬럼값을 계산할 수 있는 함수이다.
df.groupby([“a”])[“b”].mean()
위 예시의 경우, a 컬럼값을 기준으로 b 컬럼값의 평균을 구하는 식이다.
하나의 값을 기준으로 어떤 값의 평균값 등을 알고 싶을 때 groupby를 통해 손쉽게 알아낼 수 있다는 사실이 흥미로웠다.
Plotting
가지고 있는 데이터로 다양하게 시각화를 시도해볼 수 있다.
: 꺾은선, 막대 그래프, 밀도 함수 등
데이터 시각화를 해본 것은 처음이라 신기했다.
'Study > CODE 3기 [파이썬으로 배우는 데이터 사이언스]' 카테고리의 다른 글
[4조:불사조] 건강검진데이터로 가설검정하기 (0) | 2024.05.28 |
---|---|
[김이김이나] 1 - 2 주차 스터디 (1) | 2024.05.17 |
[2조:ACE] 1-2주차 (0) | 2024.05.16 |
[불사조] 데이터 분석을 위한 핵심 파이썬 문법 + 판다스 활용법 (0) | 2024.05.16 |
비비빅 (0) | 2024.05.08 |