Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- #패스트캠퍼스 #패스트캠퍼스부트캠프 #데이터분석 #데이터분석부트캠프 #BDA11기 #국비지원 #패스트캠퍼스국비지원
- 패스트캠퍼스 #패스트캠퍼스부트캠프 #데이터분석 #데이터분석부트캠프 #BDA11기 #국비지원 #패스트캠퍼스국비지원
- #패스트캠퍼스 #패스트캠퍼스부트캠프 #데이터분석 #데이터분석부트캠프 #패스트캠퍼스데이터분석부트캠프 #BDA11기 #국비지원 #패스트캠퍼스국비지원 '데이터분석 부트
- #데이터분석가 #DataAnalyst #SQL #프로젝트 #취준생
- #패스트캠퍼스 #패스트캠퍼스부트캠프 #데이터분석 #데이터분석부트캠프 #패스트캠퍼스데이터분석부트캠프 #BDA11기 #국비지원 #패스트캠퍼스국비지원
Archives
- Today
- Total
STUDY-LOG
[패스트 캠퍼스] 데이터 분석 부트캠프(BDA) 11기 4주차 본문
📌Python으로 하는 데이터분석 2
더보기
🙋🏻♀️ 부트캠프를 시작한지 4주차이자 파이썬 수업 2주차. 1주차에 비해 이번주는 상당히 많은 양을 배웠다.
사실 이미 파이썬 문법에 대해 잘 알고있다고 생각한 나도 이번주는 내용이 많아서 힘들었지만
오랜만에 연습문제 코드 작성하고 예제들 풀면서 재미있기도 했다:)
이번주부터 본격적으로 프로젝트가 시작되어 한주의 끝자락에 서서 부랴부랴 학습일지를 작성하게 되었는데
다소 두서없는 노트임에 양해를 구한다는..😅
목차
1. 리스트 심화 - 조작 메소드
2. 문자열 - 메소드, Formatting
3. 함수
4. Numpy, Pandas
< 리스트 심화 >
✔ 리스트 조작 메소드
✔ List Comprehension
✔ 2차원 리스트(2D List)
✔ 예제
✔ 리스트 조작
>> 리스트에 추가
- append( )
- extend( )
- insert(position, value)
- 예제
더보기
예제
##### append 예제 #####
a = [1, 2, 3, 4, 5]
print(a)
a.append(6)
print(a)
print(len(a))
'''
output:
>> 6
>> [1, 2, 3, 4, 5, 6]
>> 6
'''
##### extend 예제 #####
L = [1, 2, 3]
L2 = [4, 5, 6]
L.extend(L2)
print(L)
'''
output:
>> [1, 2, 3, 4, 5, 6]
'''
##### insert 예제 #####
b = [1, 2, 3, 5]
b.insert(3, 4) #index3에 4를 추가
print(b)
'''
output:
>> [1, 2, 3, 4, 5]
'''
b = [1, 2, 3, 5]
b.insert(3, [4, 6])
print(b)
'''
output:
>> [1, 2, 3, [4, 6], 5]
'''
b = [1, 2, 3]
b[1:1] [5, 6]
print(b)
'''
output:
>> [1, 5, 6, 2, 3]
'''
>> 리스트에서 삭제
- pop( ) → 인덱스 기반 값 삭제
- 지정된 인덱스의 요소를 삭제한 뒤 해당 값 반환
- pop()은 마지막 요소 제거, 괄호 안에 인덱스 값을 입력하면 해당 인덱스 제거
- remove( ) → 특정 값 기반으로 항목 제거
- 특정 값을 찾아 첫번째로 일치하는 항목 제거
- 주의: remove는 삭제할 항목이 리스트에 없으면 ValueError를 발생시킴
- 예제
더보기
예제
##### pop 예제 #####
a = [10, 20, 30]
a.pop() # 마지막 요소 제거
>> 30
a
>> [10, 20]
a = [1, 2, 3]
a.pop(1) # 인덱스 지정해주면 해당 인덱스 값 제거
>> 2
a
>> [1, 3]
##### remove 예제 #####
a = [10, 20, 30]
a.remove(20)
a
>> [10, 30]
>> 리스트의 기타 조작 메소드
- index( ) → 특정 값의 인덱스를 반환
- index 함수는 해당 값이 리스트에 없으면 ValueError를 발생시킴
- count( ) → 특정 값의 개수 반환
- reverse() → 리스트의 순서를 reverse
- sort() → 리스트의 항목 정렬
- sort() 또는 sort(reverse=False) 오름차순
- sort(reverse=True) 내림차순
- clear() → 모든 요소 삭제
- slicing
- 예제
더보기
예제
##### index 예제 #####
a= [10, 20, 30, 40, 20, 50, 20, 30, 60, 70, 20]
index = []
while 20 in a:
pos = a.index(20)
index.append(pos)
a[pos] = '_'
print(a) # [10, '_', 30, 40, '_', 50, '_', 30, 60, 70, '_']
print(index) # [1, 4, 6, 10]
##### count 예제 #####
a = [10, 20, 30, 15, 20, 50]
a.count(20)
a # 2
##### reverse 예제 #####
a = [10, 20, 30]
a.reverse()
a # [30, 20, 10]
##### sort 예제 #####
a = [10, 20, 30, 15, 20, 40]
a.sort(reverse=Fale)
a # [10, 15, 20, 20, 30, 40]
##### clear 예제 #####
a = [10, 20, 30]
a.clear()
a # []
##### slicing 예제 #####
a = [10, 20, 30]
a[len(a): ]= [500] # a.append(500)과 동일
a #[10, 20, 30, 500]
a = [10, 20, 30]
a[len(a): ]= [500, 600] # a.extend([500, 600])
a #[10, 20, 30, 500, 600]
>> 리스트 할당과 복사
- import copy 사용
- 예제
더보기
예제
a = [0, 0, 0, 0, 0]
b = a
print(a is b) # True
b[2] = 99
print(a) # [0, 0, 99, 0, 0]
print(b) # [0, 0, 99, 0, 0]
import copy
a = [0, 0, 0, 0, 0]
b = a.copy() # <-- a와 b는 다른 객체
a is B # False
a == b # True
a[0] = 42
b[2] = 99
print(a, b) # [42, 0, 0, 0, 0] [0, 0, 99, 0, 0]
import copy
a= [0, 0, 0, 0, 0]
b = a # not a copy, but an alias
c = copy.copy(a) # ok
print(a) # [0, 0, 0, 0, 0]
print(b) # [0, 0, 0, 0, 0]
print(c) # [0, 0, 0, 0, 0]
a[0] = 42
print(a) # [42, 0, 0, 0, 0]
print(b) # [42, 0, 0, 0, 0]
print(c) # [0, 0, 0, 0, 0]
##########################################
a = [2, 3]
b = copy.copy(a)
c = a[:]
d = a + [ ]
e = list(a)
a[0] = 42
print(a, b, c, d, e)
✔ List Comprehension
>> 리스트 표현식 (List Comprehension)
- 리스트 안에 식, for, if 등을 사용해 간결하게 표현
- L = [expression for item in iterable if condition]
- 예제
더보기
예제
#구구단
result = [j*i for j in range(2, 10) for i in range(1, 10)]
result
>> 리스트에 map 사용
- 리스트의 요소를 지정된 함수로 처리해주는 함수
- list(map(func, L))
- tuple(map(func, T))
- 예제
더보기
예제
a = [1.2, 2.5, 3.7, 4.6]
for i in range(len(a)):
a[i] = int(a[i])
a #[1, 2, 3, 4]
a = list(map(str, range(10)))
a #['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
print(list(map(int, "12345"))) # [1, 2, 3, 4, 5]
print(list(map(float, "12345"))) # [1.0, 2.0, 3.0, 4.0, 5.0]
print(list(map(str, "12345"))) # ['1', '2', '3', '4', '5']
< 문자열 >
✔ 문자열 조작 메소드
✔ 문자열 Formatting
✔ 문자열 조작 메소드
>> 문자열 검색
- find(substring) → 해당 substring을 찾아 인덱스 위치 반환
- substring의 첫번째 위치 반환, 없으면 -1을 반환
- index(substring) → substring의 첫번째 위치 반환, 없으면 ValueError 반환
- count(substring) → substring의 출현 횟수를 반환
- 예제
더보기
예제
##### find #####
'apple pineapple'.find('pl')
'''output: 2'''
'apple pineapple'.find('xy')
'''output: -1'''
# 'pl'의 위치반환
text = 'apple pineapple apple pineapple'
substring = 'pl'
L = []
for i in range(len(text)):
if text[i: i+len(substring)] == substring:
L.append(i)
print(L)
##### index #####
text = 'Hello'
text.index('o') # 4
>> 문자열 변경
- replace(old, new)
- maketrans(old, new)
- strip() → 문자열의 양끝 공백 제거
- split(delimiter) → 문자열을 delimiter로 나누어 리스트 반환
- upper(), lower() → 대소문자 변환
✔ 문자열 Formatting
>> 문자열 formatting
- f-string
- .format()
- % operator
자료형 | 문자 | 입력 자료형 |
정수 | %d | 정수, 실수 |
실수 | %f | 정수, 실수 |
문자열 | %s | 문자열, 수 자료형 |
8진수 | %o | 정수형 |
16진수 | %x | 정수형 |
% | %% | 문자% |
더보기
예시
# f-string
food = "banana"
print(f"I ate {food} today.")
>> I ate banana today.
# .format()
x, y, z = 3, 8, 42
print("My favorite numbers are {0}, {1} and {2}.".format(x,y,z))
>> My favorite numbers are 3, 8 and 42.
# % operator
dogs = 42
print("There are %d dogs." %dogs)
>> There are 42 dogs.
num1, num2 = map(int, input("숫자 두개를 입력하세요: ").split(" "))
num3 = num1 + num2
print("%d + %d = %d 입니다." % (num1, num2, num3))
>> 입력: 10 20
>> 10 + 20 = 30
< Numpy & Pandas >
✔ Numpy
✔ Pandas
✔ Seaborn
✔ Pyplot
더보기
🙋🏻♀️넘파이와 판다스의 내용은 다음시간에 찾아뵙겠습니다:)
'데이터분석 부트캠프 > 학습일지' 카테고리의 다른 글
[패스트 캠퍼스] 데이터 분석 부트캠프(BDA) 11기 8-10주차 (0) | 2023.12.29 |
---|---|
[패스트 캠퍼스] 데이터 분석 부트캠프(BDA) 11기 6-7주차 (0) | 2023.12.07 |
[패스트 캠퍼스] 데이터 분석 부트캠프(BDA) 11기 3주차 (0) | 2023.11.06 |
[패스트 캠퍼스] 데이터 분석 부트캠프(BDA) 11기 2주차 (1) | 2023.11.03 |
[패스트 캠퍼스] 데이터 분석 부트캠프(BDA) 11기 1주차 (0) | 2023.10.26 |