본문 바로가기

IT/Python

(37)
How to flatten a list of lists in python ? Sample Data [[1,2], [1], [3,4]] Result Data [1,2,1,3,4] How to do? Method1. from itertools import chain sample_list = [[1, 2], [1], [3, 4]] # method1 result_list = list(chain(*sample_list)) print(result_list) #[1, 2, 1, 3, 4] Method2. from itertools import chain sample_list = [[1, 2], [1], [3, 4]] # method 2 result_list = list(chain.from_iterable(sample_list)) print(result_list) #[1, 2, 1, 3, 4]..
How to split a string at specific length in python? Sample Data 123123123 Result Data ['123','123','123'] How to do? Python Version 3.X Method 1 string = '123123123' length = 3 result = list(map(''.join, zip(*[iter(string)]*length))) print(result) # ['123', '123', '123'] Method 2 string = '12312312312' length = 3 result = [''.join(x) for x in zip(*[list(string[z::length]) for z in range(length)])] print(result) # ['123', '123', '123'] Method 3 st..
Change Dtypes Series of Pandas DataFrame to Dictionary Sample Data - DataFrame group1 group2 key val 0 01 11 A 10 1 01 11 B 100 2 01 11 D 1000 3 02 12 A 10 4 02 12 C 1 5 02 12 B 100 6 03 13 D 1000 7 03 13 B 100 Result Data {'group1': 'object', 'group2': 'object', 'key': 'object', 'val': 'object'} How to Do? 1. Check DataFrame Column dtypes and type import pandas as pd sample_dict = {'group1':['01', '01', '01', '02', '02', '02', '03', '03'], 'group2'..
Python에서 Progress bar로 진행상황 표현하기 코드를 돌리는데 먼가 진행되는 것 같은데 확인을 할 수 없으니까 저는 많이 답답하더라고요. 그래서 오늘은 진행상황을 알 수 있는 progress bar를 표현하는 방법에 대해 알아보도록 하겠습니다. tqdm 이라는 모듈을 사용하면 쉽게 구현이 가능합니다. 먼저 tqdm을 설치합니다. pip install tqdm 그 다음에 코드문에서 tqdm을 import 합니다. from tqdm import tqdm 그리고 반복문이 들어가는 곳에 tqdm을 사용해주면 됩니다. 간단하게 range를 사용한다면 이렇게 사용해주면 되고, from tqdm import tqdm for i in tqdm(range(10)) : print(i) 만약 dataframe 에서 iterrows를 사용한다면 다음과 같이 활용하시면 됩..
Python에서 행을 열로 바꾸는 Pivoting 하기 - 2탄 이번에는 조금 다른 pivot 사례를 가져왔습니다. 이전 다룬 Pivot 사례는 group 기준이되는 index가 1개 이상이거나, value가 1개일 경우에 pivot하는 방법이였다면, [IT/Python] - Python에서 행을 열로 변환하기 - pandas Pivot 메소드 Python에서 행을 열로 변환하기 - pandas Pivot 메소드 다음과 같이 데이터가 존재할 때 한 열을 컬럼명으로하고 한 열은 값으로 보여주고 싶을때 하는 기능이 Pivot 기능이죠. Sample group key val 0 01 A 10 1 01 B .. h-a-i.tistory.com 이번에는 group 기준이 되는 index도 1개 이상이고, value값도 1개 이상일 경우에 pivot 하는 방법에 대해 알아보도록..
Python에서 행을 열로 변환하기 - pandas Pivot 메소드 다음과 같이 데이터가 존재할 때 한 열을 컬럼명으로하고 한 열은 값으로 보여주고 싶을때 하는 기능이 Pivot 기능이죠. Sample group key val 0 01 A 10 1 01 B 100 2 01 D 1000 3 02 A 10 4 02 C 1 5 02 B 100 6 03 D 1000 7 03 B 100 Result group A B C D 0 01 10 100 NaN 1000 1 02 10 100 1 NaN 2 03 NaN 100 NaN 1000 원하는 결과를 만들어내기 위해서는 다양한 방법으로 접근할 수 있는데요. 제가 사용하는 방법 2가지를 알려드릴께요 . 첫번째 방법은 가장 쉬운 방법입니다. pandas를 이용해서 pivot 함수를 사용하면 됩니다. 두번째 방법은 dictionary 자료구..
Python 추상자료형 - 큐 ( Queue ) 큐 ( 대기열 ) 의 기능 특징 : 순서대로 데이터를 유지할 수 있습니다. 맨앞에서부터 삭제하고 추가할때는 뒤에서만 추가합니다 FIFO : First-in-First-Out 기능 - 맨 뒤 데이터 추가 - 맨 앞 데이터 삭제 - 맨 앞 데이터 접근 python 에서 deque를 사용할 수 있어요. deque는 Doubly-ended-queue의 약자로 맨 앞과 뒤에 데이터를 삽입하고 삭제할 수 있게 해주는 자료형입니다. from collections import deque queue = deque() # 큐의 맨끝에 데이터 사입 queue.append('A') queue.append('B') queue.append('C') print(queue) # deque(['A', 'B', 'C']) # 큐 맨 앞..
Pandas DataFrame 연결하기 ( Union ) 다음과 같은 2개의 데이터 셋이 있다고 가정할 떄, Rows 방향으로 붙이는 방법에 대해 알아 보도록 하겠습니다. sample_dataset1 a b 0 1 3 1 2 4 sample_dataset2 b d 0 1 3 1 2 4 이때, 원하는 결과는 없는 컬럼은 자동으로 생성해주는 데이터 셋입니다. result_dataset a b d 0 1.0 3 NaN 1 2.0 4 NaN 0 NaN 1 3.0 1 NaN 2 4.0 Pandas concat을 이용해서 연결하기 import pandas as pd sample_dict1 = {'a': [1, 2], 'b': [3, 4]} sdf_1 = pd.DataFrame(sample_dict1) print(sdf_1) sample_dict2 = {'b': [1, 2..