728x90

Study/Python 15

[Python] 패키지 목록 requirement.txt 만들기

보통 requirements.txt를 만들때, pip freeze > requirements.txt 이렇게 단순하게 진행한다. 그런데, 이런 경우 간혹 @가 붙으면서 잡스러운 내용이 나오고 파일만으로 설치하기 힘든 경우가 있다. 그래서 단순하게 패키지 버전만 출력할 수 있는 코드를 가지고 왔다. pip list --format=freeze > requirements.txt 이러면 패키지 이름과 버전만 저장되기 때문에 아주 범용적이고 개꿀이다.

Study/Python 2024.01.18

[Python]샘플용 데이터프레임 쉽게 생성하기

간혹 코딩을 하다보면 테스트를 하기 위해서 혹은 샘플이 필요해서 데이터프레임을 만들고 싶을 때가 있다. 그때마다 student_card = pd.DataFrame({'ID':[20190103, 20190222, 20190531], 'name':['Kim', 'Lee', 'Jeong'], 'class':['H', 'W', 'S']}) 이런식으로 만드려고한다면 여간 머리가 지끈지끈해지는게 아니다. 게다가 한번에 대용량의 데이터를 만들 수가 없다. 하지만 아래의 방법을 쓴다면 누구나 쉽게 내가 원하는 크기의 데이터프레임을 만들 수 있다. import pandas as pd import numpy as np size = 10_000 df = pd.DataFrame() df['position'] = np.rand..

Study/Python 2023.11.17

[Python] for문을 활용해서 list, dictionary를 만들 때, 사소한 꿀팁

python입문을 하고 list를 배우고 dictionary를 배우고 반복문을 배우면 반복문을 통해 데이터를 처리할 때가 많습니다. 그 중에선 반복문을 활용해서 list와 같은 데이터를 만들게 되죠 쉽게 생각하면 다음과 같이 만듭니다. %%time c = [] for i in range(10_000_000): c.append(i) %%time은 로직 수행시간을 측정하고자 입력한 값입니다. 꽤 빠르지만 수치가 높죠? 하나하나 append하면 오래걸린답니다. 이럴 때는 for문을 한줄로 쓰고 한번에 리스트로 넣어버리세요 %%time a = [ i for i in range(10_000_000)] 속도차이가 상당히 많이 난다. 반복문을 [ ] 로 묶으면 결과물이 리스트로 묶이고 { }로 묶으면 딕셔너리로 묶인..

Study/Python 2023.02.13

[Python] DataFrame에서 null이 들어있는 행만 보고 삭제하기

데이터를 다루다보면 null값이 들어있는 데이터가 상당히 많습니다. 이 값들을 어떻게 처리할 지에 대해서 항상 고민이 되는데요 이 포스팅에선 Row에 들어있는 null값들만 확인하고 그 행들만 삭제하는 방법을 알아보겠습니다. import pandas as pd import numpy as np dogs = np.random.choice(['labradoodle','beagle','mutt','Golden Retrievers', 'Greyhound','French Bulldog','Shih Tzu',None], size=50_000) smell = np.random.randint(0, 100, size = 50_000) location = np.random.choice(['Korea','China','Un..

Study/Python 2023.02.07

주피터 노트북 한글 깨짐 해결방법

맥 + 윈도우 모두 범용으로 쓸 수 있는 코드 걍 시작할때 이거 넣고 시작하면 편합니당 import matplotlib.pyplot as plt # 사용자 운영체제 확인 import platform platform.system() # 운영체제별 한글 폰트 설정 if platform.system() == 'Darwin': # Mac 환경 폰트 설정 plt.rc('font', family='AppleGothic') elif platform.system() == 'Windows': # Windows 환경 폰트 설정 plt.rc('font', family='Malgun Gothic') plt.rc('axes', unicode_minus=False) # 마이너스 폰트 설정 matplotlibrc 파일을 찾아서 메..

Study/Python 2022.11.21

[Python] 시퀀스 자료형 (리스트, 튜플, 문자열)

시퀀스 자료형 종류 : 문자열, 리스트, 튜플 등 특징 : 1) 여러 객체를 저장 2) 순서 있음 3) 인덱스를 사용해 참조 가능 [시퀀스형의 공통 연산] 색인 : s[k] 슬라이싱 : s[start : end : step] 연결 : s1 + s2 반복 : s * number_of_repeat 멤버쉽 테스트 : member in sequence 길이 정보 len(sequence) [리스트] mutable : 요소의 치환이 가능 리스트는 가장 보편적인 시퀀스형 리스트에 요소를 추가하는 메소드 : append(), extend(), insert() 리스트에서 요소를 삭제하는 메소드 : remove(), pop() lst = [4,3,2.0,0,'text'] >>> [4, 3, 2.0, 0, 'text'] l..

Study/Python 2022.08.03

[Python]Sckit-Learn에 있는 데이터를 csv로 만들기

머신러닝 오픈소스 중 하나인 사이킷런에서는 여러가지 머신러닝용 데이터를 제공한다. 그런데 이런 데이터들을 하나의 csv파일로 정리해서 출력할 수는 없을까? 아주 간단한 방법으로 해당 작업을 진행하였다. pandas의 데이터처리 방법도 포함이 되어있기 때문에 일부분 필요한 것만 골라서 사용할 때도 유용할테니 참고 바랍니다. 우선, 이 작업에서 사용할 모듈들입니다. import pandas as pd from sklearn.datasets import load_iris # iris data불러오기 import numpy as np csv로 변환하고 데이터프레임으로 만들어줄 pandas, 사이킷런에서 제공하는 데이터를 받아올 load_iris, array형식으로 되어있는 데이터를 처리해줄 numpy 우선 ir..

Study/Python 2022.03.17
728x90