728x90

분류 전체보기 57

[pandas] 대용량 파일 읽기 (chunksize)

5GB 이상의 데이터를 한꺼번에 read_csv()를 사용하여 pandas dataframe으로 읽어들이는데 MemoryError 발생MemoryError: Unable to allocate 512. KiB for an array with shape (65536,) and data type int64 chunksize 파라미터를 사용하여 잘라서 가져온다import pandas as pdchunksize = 10000chunk = pd.read_csv('file_path', chunksize=chunksize) df는 dataframe으로 반환되는것이 아니라 iterable한 객체로 반환되어 for문으로 접근 가능함. 각 chunk는 dataframe형태임 for문 접근 -> 하나의 dataframe으로 ..

Python/Pandas 2024.08.18

[백준 BOJ] 1932 정수 삼각형 python

목차1. 문제2. 알고리즘 선택 이유3. 접근방법4. 코드1. 문제https://www.acmicpc.net/problem/19321) 문제        7       3   8     8   1   0   2   7   4   4 4   5   2   6   5위 그림은 크기가 5인 정수 삼각형의 한 모습이다. 맨 위층 7부터 시작해서 아래에 있는 수 중 하나를 선택하여 아래층으로 내려올 때, 이제까지 선택된 수의 합이 최대가 되는 경로를 구하는 프로그램을 작성하라. 아래층에 있는 수는 현재 층에서 선택된 수의 대각선 왼쪽 또는 대각선 오른쪽에 있는 것 중에서만 선택할 수 있다. 삼각형의 크기는 1 이상 500 이하이다. 삼각형을 이루고 있는 각 수는 모두 정수이며, 범위는 0 이상 9999 이하이다...

Python/코테풀이 2024.07.30

[백준 BOJ] 9095 1, 2, 3 더하기 python

목차1. 문제2. 알고리즘 선택 이유3. 접근방법4. 코드1. 문제https://www.acmicpc.net/problem/90951) 문제정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 7가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다.1+1+1+11+1+21+2+12+1+12+21+33+1정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작성하시오. 2) 입력첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n이 주어진다. n은 양수이며 11보다 작다. 3) 출력각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. 4) 예제 출력2. 알고리즘 선택 이유1) 사용..

Python/코테풀이 2024.07.27

[백준BOJ] 1654 랜선자르기 python

https://www.acmicpc.net/problem/1654 문제집에서 시간을 보내던 오영식은 박성원의 부름을 받고 급히 달려왔다. 박성원이 캠프 때 쓸 N개의 랜선을 만들어야 하는데 너무 바빠서 영식이에게 도움을 청했다.이미 오영식은 자체적으로 K개의 랜선을 가지고 있다. 그러나 K개의 랜선은 길이가 제각각이다. 박성원은 랜선을 모두 N개의 같은 길이의 랜선으로 만들고 싶었기 때문에 K개의 랜선을 잘라서 만들어야 한다. 예를 들어 300cm 짜리 랜선에서 140cm 짜리 랜선을 두 개 잘라내면 20cm는 버려야 한다. (이미 자른 랜선은 붙일 수 없다.)편의를 위해 랜선을 자르거나 만들 때 손실되는 길이는 없다고 가정하며, 기존의 K개의 랜선으로 N개의 랜선을 만들 수 없는 경우는 없다고 가정하자..

Python/코테풀이 2024.07.13

[chapter 6] 요약

텍스트 요약도메인마다 요약하는 방식에 차이가 있음 -> 언어모델이 이를 파악하기에는 어려움이 있음정교한 수준의 도메인 일반화가 필요함seq-to-seq 방식임(입력 : 줄글 텍스트 -> 출력 : 요약 텍스트) CNN/DailyMail 데이터셋CNN/DailyMail 데이터셋 (https://huggingface.co/datasets/ccdv/cnn_dailymail)300000개의 뉴스기사, 요약 쌍요약이 본문에서 추출된것이 아니고 머리글 형식으로 새로운 문장으로 요약을 구성article(본문), highlisgts(요약), id(기사 고유id) 트랜스포머 모델의 토큰 갯수 제약트랜스 포머 모델의 최대 토큰이 대략 1000개 임토큰 1000개를 넘는 긴 기사의 경우 절단이 불가피, 끝에 중요 내용 손실 ..

[Chapter 5] 텍스트 생성

GPT-2, GPT-3 : 수백만 개의 웹 페이지에서 단순히 다음 언어를 예측하는 방법을 학습하여 다양한 종류의 입력 프롬프트를 바탕으로 텍스트를 생성 언어모델의 학습문맥 학습(하나의 문장에 대해 다음단어 예측을 학습) + 추론학습 일관성 있는 텍스트 생성의 어려움사전훈련학습 or 지도학습 기반의 미세 튜닝 -> 작업에 특화된 헤드에서 예측한다확률을 기반으로한 텍스트 생성 -> 디코딩 방법이 필요 디코딩 수행주어진 시퀀스를 추정하여 다음에 올 단어를 확률적으로 추정한다 -> 확률의 연쇄법칙을 사용하여 조건부 확률의 곱으로 나타냄 => 이전 시퀀스를 기반으로 다음 단어를 예측한다대부분의 디코딩 방법은 다음단어가 될 가장 높은 확률을 가지는 토큰을 선택한다. 이 때 선택한 확률를 곱하여 전체적으로 확률이 가..

[kaggle learn geopandas] Your First Map

사용 데이터 실생활에서 geo data를 활용하는 경우일본에서 지진이 많이 일어나는곳을 지도에 표시특정 종의 동물의 서식지 파악등등 지도 상에 표현할 수 있는 경우Reading datageospatial file format은  shapefile, GeoJSON, KML, GPKG등 다양하다이 코스에서는 shapefile을 다룰것이다geopandas library를 사용python에서 지리공간 데이터 작업을 지원하는 오픈소스 프로젝트geopandas는 pandas의 데이터 타입을 확장하여 geometric(기하학적)타입에 대해 spital(공간)작업을 가능하도록한다import geopandas as gpd# read_file() 로 파일 불러오기gpd_data = gpd.read_file('file pa..

Python/Pandas 2024.06.04

[Chapter 4] NER

목적 : 스위스에서 주로 사용하는 고객을 위해 NER을 수행한다 데이터셋'PAX-X' 라고 불리는 교차 언어 전이 평가(Cross-Lingual TRansfer Eveluation of Multilingual Encoders, XTREME)을 사용스위스에서 사용되는 4개의 언어(독일어, 프랑스어, 이탈리아어, 영어)를 비율을 조정하여 데이터셋 구성각 언어에 대해서 IOB2포맷(개체에 해당되는 첫 토큰은 B-로 시작하고 연속되는 토큰은 I-로 표시, 아무것도 속하지 않으면 O 료시) 의 NER 태그가 표시되어있다NER 태그B- : 개체명 시작0 : 어떤 개체에도 속하지 않는다I- : 개체명 연속개체명의 종류 : LOC, PER, ORGfrom datasets import get_dataset_config_..

[kaggle learn pandas] Renaming and Combining

RenamingDataFrame의 인덱스 이름, 열이름을 변경할 수 있음rename() function을 사용한다DataFrame.rename(mapper=None, *, index=None, columns=None, axis=None, copy=None, inplace=False, level=None, errors='ignore') 주요 인자mapper열이나 행의 이름을 변경할 수 있으며 axis='colums'이면 column을 rename, axis='index'면 row를 rename현재는 mapper 보다 column, index매개변수를 사용하여 axis지정 없이 개별적으로 처리  index행의 이름을 변경할 때 사용  columns열의 이름을 변경할 때 사용 axis mapper 인자를 사용..

Python/Pandas 2024.05.31

[kaggle learn pandas] Data Types and Missing Values

사용한 데이터 Dtypes데이터 프레임이나 시리즈에 들어있는 값들의 타입DataFrame의 dtype -> df.dtypes  /  series의 dtype -> df.col.dtype (s의 유무)# 데이터 프레임의 dtypedf.dtypes#데이터 프레임의 특정 열을 지정 -> series형식df.col.dtype Auto 데이터 프레임에 적용DataFrame의 dtype : 각 col에 대해서 각각의 dtype과 DataFrame의 dtype을 확인Series의 dtype : 특정 열의 dtype만 확인 column의 type 변경컬럼의 타입을 변경한다 (변경 가능한 타입이라면 데이터 프레임 전체를 일괄로 변경 가능)모든 데이터 타입이 astype()으로 변경되는 것이 아님 (예: datetime은..

Python/Pandas 2024.05.30
728x90
반응형