👩‍💻 Develope/Python

👩‍💻 Develope/Python

[Pandas] 데이터프레임 리스트로 변환하기

[Pandas] 데이터프레임 리스트로 변환하기 데이터 프레임을 리스트로 변환하여 처리해야 할때, 리스트로 변환하는 방법은 여러가지가 있다. 먼저 샘플 df를 생성한다. import pandas as pd df = { 'key': ['A', 'B', 'C', 'D'], 'value': [1, 2, 3, 4] } df = pd.DataFrame(df, columns=['key','value']) 칼럼 선택 후 리스트로 변환하기 데이터 프레임의 각 칼럼은 시리즈(Series)라는 데이터 타입으로 이루어져있다. 시리즈는 to_list() 함수를 이용해 리스트로 변환하거나, list() 함수를 이용해서 리스트로 변경할 수 있다. df['key'].to_list() ['A', 'B', 'C', 'D'] list(d..

👩‍💻 Develope/Python

[Python] 리스트끼리 빼기

[Python] 리스트끼리 빼기 리스트에 중복 값이 없을 때 a = [1, 2, 3, 4] b = [3, 2, 5] 리스트의 중복 값이 없을 때나, 중복을 제거하고 리스트끼리 빼고싶은 경우엔 다음과 같은 방법을 사용할 수 있다. #리스트 컴프리헨션 사용 [_ for _ in a if _ not in b] #집합 사용 list((set(a) - set(b)) 출력 값 : [1, 4] 리스트에 중복 값이 있을 때 a = [1, 2, 2, 3, 4] b = [3, 2, 5] 리스트끼리 빼서 [1,2,4]의 값을 얻고싶을때, 위 방법을 사용하면 중복값이 제거되서 [1,4]가 출력된다. 그럴땐 collections 라이브러리의 conter 함수를 사용해서 쉽게 구할 수 있다. from collections imp..

👩‍💻 Develope/Python

[Pandas] 특정 위치에 새로운 컬럼 삽입하기

[Pandas] 특정 위치에 새로운 컬럼 삽입하기 특정 조건에 부합했을 때, 새로운 열을 생성하여 조건에 부합하는 데이터를 삽입하고 싶었다. 말로 설명하니 이해하기가 조금 어려운데, 예제를 들어 확인해보자. df 생성 아래과 같은 데이터 프레임이 있을때, 숫자면 num, 문자면 chr인 행을 추가하고싶다. df = pd.DataFrame({'data' : ['가', '123', '나', 'A', '5555']}) 신규 컬럼 생성 df.iterrows 함수를 사용해 idx와 row를 가져온다. ✔ df.iterrows() Dataframe의 각 행에 있는 정보를 담은 객체 tuple의 형태로 출력이되며, 첫번째 자리에는 index 두번째 자리에는DataFrame의 행 정보가 Series 형태로 들어있다. ..

👩‍💻 Develope/Python

[Python] Sorted 다중 조건 걸기

[Python] Sorted 다중 조건 걸기 Sorted 함수 정렬을 할 때 사용하는 함수 lterable 자료형에 대해서 정렬이 가능하고, list 자료형으로 리턴한다. sort 함수와 다르게 기존의 리스트는 건드리지 않고, 새로운 리스트를 변환한다. Default가 오름차순이고 reverse=True 조건을 사용하면 내림차순으로정렬한다. a = [5, 4, 3, 2, 1] sorted(a) [1,2,3,4,5] 다중 조건 걸기 (1) 조건 하나 걸기 sorted로 정렬을 할 때 key값을 통해서 조건을 걸 수 있다. 이때 조건은 lambda를 통해서 조건을 걸 수 있다. lst = [['apple','red'],['banana','yellow'],['grape','purple']] #색깔을 기준으로 ..

👩‍💻 Develope/Python

[Python] Reduce

[Python] Reduce 여러 개의 데이터를 대상으로 누적 집계를 내기 위해서 사용 reduce(집계 함수, 순회 가능한 데이터[, 초기값]) Reduce 함수를 사용하기 위해선 import가 필요하다. from functools import reduce 1. reduce를 사용하지 않았을 때 def Sum(x, y): return x + y lst = list(range(1,11)) result = 0 for i in lst: result = Sum(result, i) 2. reduce를 사용했을 때 def Sum(x, y): return x + y lst = list(range(1, 11)) reduce(Sum, lst) 3. reduce + lambda lst = list(range(1,11))..

👩‍💻 Develope/Python

[Python] isdigit, isalpha

[Python] isdigit, isalpha 1. isdigit 파이썬의 isdigit 은 string 클래스에 있는 메서드다. str.isdigit()는 문자열이 숫자로만 이루어져있는지 확인한다. 문자가 단 하나라도 있다면 False를 반환하고 모두 숫자로 이루어져있으면 True를 반환한다. print('111'.isdigit()) True print('1일1'.isdigit()) False 2.isalpha str.isalpha()는 문자열이 문자로만 이루어져있는지 확인한다. 숫자가 단 하나라도 있다면 False를 반환하고 모두 문자로 이루어져있으면 True를 반환한다. 영어가 아닌 한글로 이루어진 문자열 또한 True를 반환한다. print('abc'.isalpha()) True print('a비..

👩‍💻 Develope/Python

[Python] if문 한 줄로 구성하기

[Python] if문 한 줄로 구성하기 1. if문 기본 구문 x = 5 if x == 5: print(x) 한줄로 구성 x = 5 if x == 5: print(x) 2. If-else 문 A if 조건 else B if 조건이 True면 A를 반환하고 False면 B를 반환한다. x = 5 print(x) if x == 5 else print('not true') 풀어서 쓰면 다음과 같다. if x == 5: print(x) else: print('not true') 3. if-elif-else 문 (삼항연산자) A if 조건 else B if 조건 else C if 조건이 True면 A를 반환, elif 조건이 True면 B를 반환, 둘 다 False면 C를 반환한다. x = 4 print(x) ..

👩‍💻 Develope/Python

[Python] Eval()

[Python] Eval() eval(문자열) 매개 변수로 받은 식을 문자열로 받아서 실행하는 함수 eval('1+2+3+4') 10 f 포맷팅도 가능하다. a = 2 eval(f"a+3") 5 사용자에게 input을 받아서 그 식을 계산하는 방식으로 많이 사용된다. 다음은 eval의 다양한 사용법이다. eval("len[1,2,3,4]") 4 eval("round(1.5)") 2 eval() 함수는 표현식을 그대로 실행하는 것이기때문에, 보안에 취약하다. 또한 코드의 가독성을 떨어트리고 디버깅을 어렵게 만들 수도 있기 때문에 사용을 권장하진 않는다고 한다.

👩‍💻 Develope/Python

[Python] 문자열 뒤집기

[Python] 문자열 뒤집기 1. reverse chr = 'HelloWorld" lst = list(chr) lst.reverse() ''.join(lst) 'dlroWolleH' 2. 문자열 슬라이싱 chr = 'HelloWorld' chr[::1] 'HelloWorld' chr[::2] 'Hlool' chr[::-1] 'dlroWolleH' chr[::-2] 'drWle' [::1] : 기존과 동일 [::2] : 문자열에서 한 칸씩 띄워져서 문자열이 생성됨 [::-1] : 문자열에서 역순으로 하나씩 잘라서 문자열을 생성 [::-2] : 문자열에서 역순으로 하나씩 자르되, 한 칸씩 띄워서 자르게됨 참고 https://blockdmask.tistory.com/581

👩‍💻 Develope/Python

[Python] 리스트 합치기

[Python] 리스트 합치기 1. + 를 사용해서 리스트 합치기 a = [1,2,3,4] b = [5,6,7,8] c = a+b print(c) [1,2,3,4,5,6,7,8] 2. extend() a = [1,2,3,4] b = [5,6,7,8] a.extend(b) [1,2,3,4,5,6,7,8] 3. 2차원 리스트 합치기 sum 함수를 이용해서 쉽게 합칠 수 있음 lst = [[1,2],[3,4],[5,6]] print(sum(lst,[])) [1,2,3,4,5,6] +) for문을 사용해서 2차원 리스트의 요소 꺼내기 in 앞에 변수 두 개를 지정해주면 리스트에서 요소 두개를 꺼내온다. lst = [[1,2],[3,4],[5,6]] for x, y in lst: print(x,y) 1 2 3 4..

👩‍💻 Develope/Python

[Python] enumerate(), range()

[Python] enumerate(), range() 1. enumerate 순서가 있는 자료형(List, Set, Tuple, Dictionary, String)을 입력으로 받아 인덱스 값을 포함하는객체를 돌려준다. for문과 함께 사용하면 자료형의 index를 알 수 있다. for idx, e in enumerate(['a','b','c']): print(idx, e) 0 a 1 b 2 c 2. range() 연속된 숫자를 만들어주는 함수 range(1, 11) ==> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 for문에서 많이 사용된다. for num in range(2, 5): print(num) 2 3 4 범위의 증가와 감소도 가능하다. for num in (2, 10, 2): pri..

👩‍💻 Develope/Python

[Python] 문자열 찾기

[Python] 문자열 찾기 파이썬에서 문자열의 위치와 문자열이 특정 문자로 시작하거나 끝나는지 특정 문자가 문자열에 속해있는지 아닌지를 파이썬 함수를 통해서 찾아보자. 1. 문자열의 위치 반환 1-1. find() 문자열의 왼쪽에서부터 문자를 찾는다. 못찾으면 -1 을 반환한다. english = "abcdefg" english.find('a') 0 2-1. rfind() 문자열에서 중복된 문자가 있으면, 문자열 중 가장 끝에 있는 위치를 반환한다. 못찾으면 -1을 반환한다. english = "aaabcdefg" english.find('a') 2 2. 문자열의 시작과 끝 2-1. startswith() 문자열/튜플이 특정 문자로 시작하는지 알려준다. True/False로 반환한다. a = "hell..

heywantodo
'👩‍💻 Develope/Python' 카테고리의 글 목록 (6 Page)