데이터분석 기록일지

파이썬 8

[Pandas] 기본 함수 정리

Pandas : Python에서 데이터를 조작하고 쉽게 분석할 수 있게 도와주는 라이브러리    1. 데이터 불러오기/ 저장하기1-1. 데이터 불러오기# 불러올 때, index_col =0 을 하면 인덱스가 컬럼으로 불러와지지 않는다.df = pd.read_csv("tips_data.csv", index_col=0)  1-2. 데이터 저장하기# 인덱스 따로 지정해주지 않으면, 인덱스가 컬럼으로 들어갈 수가 있음.data.to_csv("tips_data.csv",index=False) csv말고도 json, html, excel 등 여러 형태가 가능하다.     2. 데이터 내용 확인하기2-1.  데이터 구성 값 확인1)  .columns : 컬럼명 확인df.columns  2)  .index : 인덱스명..

파이썬 2024.08.16

[Python] 이터러블(iterable) vs 이터레이터(iterator)

이터러블(iterable)이터러블은 순회(반복) 가능한 객체를 말한다. 즉, 가지고 있는 원소들을 한 번에 하나씩 돌려줄 수 있는 객체이다. 이터러블은 순회를 "당한다"고 이해하면 좋다.  리스트, 튜플, 문자열, 딕셔너리, 집합, range 등이 이터러블에 해당한다.가장 간단하게는 for 문에 들어갈 수 있는 객체라고 이해하면 좋다 또한 이터러블은 "__iter__() 라는 메서드를 이용하여 이터레이터를 생성할 수 있는 객체" 로 정의된다.__iter__() 는 이터러블의 이터레이터를 생성할 수 있는 함수이다.   이터레이터(iterator)이터레이터는 이터러블의 순회를 주관하는 객체이다.(이터러블은 순회를 '당하는' 것이고, 이터레이터가 순회를 '행하는' 개념이다.) 이터레이터는 이터러블에서 값을 하..

파이썬 2024.07.21

[Python] 참조(Reference) + 복사(Copy)

sizes = [[60, 50], [30, 70], [60, 30], [80, 40]]for s in sizes: s.sort(reverse = True) print(sizes)# 출력 : [[60, 50], [70, 30], [60, 30], [80, 40]]이 글은 이 코드에서  최초로 시작되었으며..... -> 이 코드에서 for문 내에서 지역 변수인 s를 정렬했는데, 전역 변수인 sizes도 정렬되는게 이해가 안가서 알아보다가 공부하게 된 개념이다. 참조 변수가 어떤 값을 가리키는 것을 참조(reference)라고 한다.리스트, 딕셔너리, 문자열, 숫자 등의 객체를 변수에 할당하면, 해당 변수는 그 객체를 가리키게 된다.즉, 변수는 실제 데이터가 저장된 메모리 공간이 아니라, ..

파이썬 2024.07.05

map()함수

map()은 특정 함수를 이터러블의 모든 항목에 적용하고, 그 결과를 새로운 이터러블로 반환하는 역할을 한다.-> 즉, 주어진 함수를 반복 가능한 객체의 모든 요소에 적용한다. +)이터러블(iterable)은 반복 가능한 객체를 의미한다. (for 루프를 사용하여 순회 가능)  ex:리스트, 튜플, 문자열, range() ....혹은 iter()함수를 호출하여 이터레이터(iterator)를 반환할 수 있는 객체 (=> 따로  포스팅)  for문을 간단하게 표현 가능하다!#사용법map(함수, 이터러블)#이때 함수자리에 연산같은건 안되고, 정의된 !함수!만 들어갈 수 있다.#연산을 넣고 싶으면 lambda사용#예제a= [1,2,3,4,5]''.join(map(str, a))# 출력 12345 (type = ..

파이썬 2024.06.09

lambda()함수

람다 함수는 이름이 없는 익명 함수로, 간단하거나 일회성으로 사용할 함수를 정의할 때 유용하다.# 사용법lambda 매개변수: 표현식  #예시1add = lambda x, y: x + yresult = add(2, 3)print(result) # 출력: 5#예시2(lambda x: x + 10)(1)#출력 11#예시3numbers = [1, 2, 3, 4, 5]double_numbers = list(map(lambda x: x * 2, numbers))print(double_numbers) # 출력: [2, 4, 6, 8, 10]  lambda() 함수는 한 번에 하나의 표현식만 계산한다.만약 여러 개의 함수를 수행하려면, 표현식 내에 이를 넣어준다.#예시4capitalize = lambda s: s..

파이썬 2024.06.09

리스트 컴프리헨션(list comprehension)

리스트 안에 for문과 if문을 한 번에 처리할 수 있는 방법이다.# 사용법[표현식 for 항목 in 이터러블 if 조건문]#예시squares_of_evens = [x**2 for x in range(1, 11) if x % 2 == 0]print(squares_of_evens) # 출력: [4, 16, 36, 64, 100] for문과 if문은 몇 번이고 반복이 가능하다.번거롭게 몇 줄 다 칠 필요없이 한번에 쓰면 돼서 간편하당   참고https://wikidocs.net/22805 1) 리스트 컴프리헨션## 리스트 생성하기 기존에 배운 문법으로 1부터 10까지 정수를 순서대로 가지고 있는 리스트를 생성하는코드는 다음과 같습니다. ``` numbers = [] for n i…wikidocs.net

파이썬 2024.06.09

파이썬 복합 할당 연산자

for문의 i를 누적해서 더하는 값을 구할 때:answer = 0for i in range(10): answer += i print(answer) 이런식으로 표현(안익숙해져서 맨날 틀리는 부분..)   +)덧셈 할당 (+=):x += y는 x = x + y와 동일합니다.x에 y 값을 더한 결과를 x에 할당합니다.곱셈 할당 (*=):x *= y는 x = x * y와 동일합니다.x에 y 값을 곱한 결과를 x에 할당합니다.나눗셈 할당 (/=):x /= y는 x = x / y와 동일합니다.x를 y 값으로 나눈 결과를 x에 할당합니다.나머지 할당 (%=):x %= y는 x = x % y와 동일합니다.x를 y 값으로 나눈 나머지를 x에 할당합니다.거듭제곱 할당 (**=):x **= y는 x = x ** y와 ..

파이썬 2024.05.28

파이썬 문자열 2개 이상 위치 찾아내기

1. find()함수와 while 구문 활용text = "pineapple"char_to_find = "p"indices = [text.find(char_to_find)]while indices[-1] != -1: indices.append(text.find(char_to_find, indices[-1] + 1))indices.pop() # 마지막 -1 제거print(f"'{char_to_find}'가 나타나는 위치: {indices}")indices = [text.find(char_to_find)]:이 줄은 리스트 indices를 생성하고, 해당 리스트에 text 문자열에서 char_to_find 문자가 처음으로 나타나는 위치의 인덱스를 추가합니다..find() 메서드는 문자열 내에서 지정된 문..

파이썬 2024.05.28