데이터 처리를 하려는 데 아래와 같은 데이터를 pd.read_csv로 읽어오려니 에러가 났다. ParserError: Error tokenizing data. C error: Expected 9 fields in line 2, saw 24 이 데이터는 여러 헤더를 가진 데이터가 하나로 제공되고 첫번째 열(11, 15)로 데이터를 구분해야한다.pandas는 헤더를 추론하기 때문에 계속 에러가 났고, 파이썬으로 하나의 CSV를 아예 분리하는 방법으로 생각했다. 코드는 Claude를 사용해 샘플데이터와 원하는 작업을 프롬프트에 작성해 얻은 것이다. import csvimport osdef split_csv(input_file, output_dir, column_index): if not os.path.e..
다양한 라이브러리를 활용하여 문자열 유사도를 측정할 수 있지만, 각 라이브러리마다 성능과 결과가 다를 수 있음diff, fuzzywuzzy, rapidfuzz 라이브러리를 사용하여 한글 문자열 유사도를 비교함비교 대상 라이브러리diff (공식문서: https://docs.python.org/3/library/difflib.html#difflib.get_close_matches)fuzzywuzzy (공식문서: https://github.com/seatgeek/thefuzz)rapidfuzz (공식문서: https://rapidfuzz.github.io/RapidFuzz/Usage/process.html#rapidfuzz.process.extractOne)코드 비교df라는 데이터프레임은 기관코드 데이터(co..
difflib.get_close_matches를 사용하여 데이터명 매칭하기데이터 정제와 분석을 할 때, 여러 데이터프레임 간의 데이터명을 비교하고 유사한 항목을 찾는 작업이 종종 필요합니다. 이때 Python의 difflib 모듈을 사용하면 매우 유용합니다. 이번 글에서는 difflib.get_close_matches 함수를 활용하여 두 데이터프레임 간의 유사한 데이터명을 찾아 매칭하는 방법을 소개합니다.사용 예시1. 데이터프레임 준비우선, 예시 데이터를 포함한 두 개의 데이터프레임을 준비합니다. import pandas as pd# 예시 데이터프레임df1 = pd.DataFrame({ '데이터명': ['서울특별시', '부산광역시', '대구광역시', '인천광역시', '광주광역시']})d2f = pd..
import jsonimport pandas as pddef flatten_json(d, parent_key="", results=[]): """ JSON 또는 딕셔너리 데이터를 평평한 구조로 변환하고, 키-값 쌍을 데이터프레임으로 저장합니다. Args: d (dict or json): JSON 또는 딕셔너리 데이터 parent_key (str): 상위 키 (재귀 호출 시 사용) results (list): 데이터프레임에 저장될 결과 목록 Returns: pandas.DataFrame: 키-값 쌍을 포함하는 데이터프레임 """ if isinstance(d, dict): for k..
# 1. 데이터프레임의 null 값 개수 계산 null_count = df.null_count() # 2. Series 객체의 첫 번째 행만 추출 head_row = null_count.head(1) # 3. 첫 번째 행의 첫 번째 값만 추출 (리스트 형태) value = [value[0] for value in head_row] # 4. 리스트를 변환하여 최종 결과 반환 result = pl.Series(value).to_list() # 한번에 조합한 코드 pl.Series([value[0] for value in df.null_count().head(1)]).to_list() data.null_count() 함수를 사용하여 데이터프레임의 각 컬럼에 대한 null 값의 개수를 계산함 이 때, 출력값은 ..
Polars 라이브러리를 사용하여 데이터 탐색적 분석(EDA) 코드를 만드는 방법을 소개합니다. 특히, 컬럼 수, 행 수, 결측값 수 등 기본적인 EDA 정보를 계산하는 코드를 다룹니다. import chardet#polarsimport polars as plfile_name = "데이터 경로"charenc = detect_enc(file_name)# open filedata = pl.read_csv(file_name, encoding = charenc, ignore_errors= True, low_memory=False, truncate_ragged_lines = True, infer_schema_length=0)# 컬럼명column_list = list(data.columns)# 컬럼 수column..
영상의 음성만 추출해서 번역하거나, 자막을 만들고 싶어서 찾아본 라이브러리 중 moviepy 사용 단순 음성 추출용으로 사용했지만, 비디오의 비율이나 속도를 조절할 수 있는 라이브러리라서 추후에 간단히 사용하기 좋을 것 같습니다. 설치 터미널에서 pip로 설치함 pip install moviepy 사용 예시 from moviepy.editor import * video = VideoFileClip("test.mp4") # 사용할 mp4 불러오기 video = video.speedx(1.5) # 1.5배속 video.audio.write_audiofile("test.mp3") # 1.5배속한 영상을 mp3로 변환하기 -> 로컬에 저장됨 참고자료 https://dev.to/jimajs/how-to-conve..
Python에서는 difflib 라이브러리와 pandas 라이브러리를 활용하여 비슷한 문자열을 매칭할 수 있다. 데이터프레임에서 difflib을 사용한 문자열 매칭 예를 들어 df1의 '주소' 컬럼이 있고, '서울특별시 관악구 남부순환로'라는 값이 있다. 그리고, 내가 매칭하려는 값은 '서울특별시 남부순환로'라면, str.contains는 띄어쓰기를 포함하기 때문에 찾을 수 없다. difflib 라이브러리는 시퀀스 데이터를 비교하고 찾는 데에 사용됨. 특히 get_close_matches 함수는 비슷한 문자열을 찾을 수 있다. import difflib import pandas as pd # 가상의 데이터프레임 생성 data = {'주소': ['서울특별시 관악구 남부순환로', '서울특별시 강남구 테헤란로..
판다스(Pandas)를 사용하여 데이터를 다루다 보면 두 개의 데이터프레임을 조합하거나 특정 조건을 충족하는 행을 제거하는 작업이 필요할 때가 있다. 이번 글에서는 두 데이터프레임을 비교하여 특정 문자열이 포함된 행을 제거하는 방법을 소개한다. 코드 설명 # 필요한 라이브러리 불러오기 import pandas as pd # 두 개의 데이터프레임 생성 (예시 데이터) df1 = pd.DataFrame({'기관명': ['기관1', '기관2', '기관3', '기관4'], '값': [1, 2, 3, 4]}) df2 = pd.DataFrame({'기관명': ['기관2', '기관4'], '값': [10, 20]}) # df2의 기관명이 포함된 행 제거 df3 = df1[~df1['기관명'].isin(df2['기관명..
pd.where(조건문, 실행문) 형태로 빈 값에 원하는 값을 채울 수 있다. np.nan와 None을 통일시키고 싶을 때 사용할 수 있음 df = df.where(pd.notnull(df), None) where를 사용해서 다양한 조건문으로 데이터를 조작할 수 있음 >>> s = pd.Series(range(5)) >>> s.where(s > 0) 0 NaN 1 1.0 2 2.0 3 3.0 4 4.0 dtype: float64 >>> s.mask(s > 0) 0 0.0 1 NaN 2 NaN 3 NaN 4 NaN dtype: float64 아래 공식문서를 참고 https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.where.html pandas.D..
- Total
- Today
- Yesterday
- python'
- hadoop
- pandas
- 지식그래프
- cursorai
- MongoDB
- vscode
- knowledgegraph
- LLM
- Encoding
- difflib
- knowlegegraph
- rdflib
- PostgreSQL
- vervel
- Claude
- python
- p-tuing
- psycopg
- TextRank
- ChatGPT
- 키워드추출
- 3d-force-graph
- PEFT
- SPARQL
- polars
- Postgis
- Vue3
- writerow
- 지식그래프임베딩
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |