RDFlib은 RDF 데이터를 처리하기 위한 파이썬 라이브러리다. 간단한 예제를 통해 그래프를 만들고, SPARQL 쿼리를 수행한 후 데이터를 pandas.DataFrame으로 변환하는 과정을 소개합니다.1. RDFlib 설치pip install rdflib2. 그래프 불러오기 또는 그래프 생성하기참고: RDFlib 공식 문서 - 그래프 파싱2-1. 그래프 데이터 불러오기Turtle(.ttl), XML/RDF(.rdf) 형식의 데이터가 있다면, .parse() 메서드를 사용한다.예시 파일: sample.ttlimport rdflibfrom rdflib import Graph# 파일 불러오기g = Graph()g.parse("sample.ttl", format="ttl")2-2. 그래프 데이터 생성하기RD..
영상의 음성만 추출해서 번역하거나, 자막을 만들고 싶어서 찾아본 라이브러리 중 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 = {'주소': ['서울특별시 관악구 남부순환로', '서울특별시 강남구 테헤란로..
전역변수를 활용하면 가능하다. 예를 들어, 시도명 또는 시도코드마다 데이터 프레임을 만들고 싶을 때 아래와 같은 코드를 사용할 수 있음 global()[변수명] sido_code_list = { '11': '서울', '51': '강원', '41': '경기', '48': '경남', '47': '경북', '29': '광주', '27': '대구', '30': '대전', '26': '부산', '36': '세종', '31': '울산', '28': '인천', '46': '전남', '45': '전북', '50': '제주', '44': '충남', '43': '충북' } for code, sido in sido_code_list.items(): # 동적으로 변수명 생성 df_name = f"df_{code}" #df_1..
Ubuntu 20.04의 터미널 환경에서 직접 실행하는 경우 DB서버 내 경로를 인식할 수 있음 postgres@ubuntu:~$ export PGCLIENTENCODING='uhc' postgres@ubuntu:~$ psql test_db test_db=> set client_encoding='UHC'; #일회용 세션 # 우분투 서버 내의 파일경로 입력 test_db=> \copy test FROM '/home/data/test.txt' CSV DELIMITER '|'; # 헤더 없는 경우, 헤더 있을 시에는 `HEADER` 추가 >> COPY 193765 # 결과 set client_encoding 영구 설정 postgreSQL의 configration 수정해야함 우분투에서 apt로 설치한 경우, /..
**는 Python에서 unpacking operator로 사용됩니다. 딕셔너리 unpacking을 할 때, **를 사용하면 딕셔너리 안의 key-value 쌍들을 분리해서, 해당 key와 value를 변수들에 각각 할당할 수 있다. 예를 들어, 다음과 같이 두 개의 딕셔너리를 하나로 합치고 싶을 때, dict1 = {'a': 1, 'b': 2} dict2 = {'c': 3, 'd': 4} **를 사용하여 unpacking하면 다음과 같이 작성할 수 있다. combined_dict = {**dict1, **dict2} print(combined_dict) # {'a': 1, 'b': 2, 'c': 3, 'd': 4} 이처럼 **를 사용하면 여러 개의 딕셔너리를 하나로 합치기 쉬워지며, 만약 키 값이 중복..

데이터 프레임을 다룰 때, 특정 컬럼의 형태가 아래 그림과 같이 형성된 경우가 있다. 하나의 셀에 리스트 형태로 들어있는 문자열이 있으면, type이 str로 인식하기 때문에 이 컬럼을 for문 등의 조건문을 사용할 수 없다. 이를 해결하기 위한 방법으로 ast.literal_eval 함수를 사용할 수 있다. 하나의 문자열만 해결하는 것 보단, 데이터프레임 수준에서 적용할 수 있는 코드를 공유하고자 한다. 데이터프레임의 특정 컬럼의 모든 셀을 한번에 변환하기 위해선, 예외 처리를 포함한 함수를 만들어 lambda를 적용하는 것이 좋다. 아래 코드는, str_to_list(x) 함수를 만들었고, 특정 컬럼에 apply와 lambda를 사용했다. import pandas as pd from ast impor..
데이터 전처리를 위해서, 조건절에서 None을 기준으로 데이터를 판단하는 경우가 많다. 하지만, Pandas로 데이터프레임을 불러오는 과정에서 Null 값의 처리가 제대로 되지않으면 원하는 결과를 낼 수 없다. 보통 np.NaN 또는 None을 기준으로 null 값 처리하기 때문에 이 글은 None값 처리를 하는 코드의 예시이다. import pandas as pd import numpy as np # 데이터 불러오기 path = r'파일경로' df = pd.read_csv(path,keep_default_na=False, # 빈 값은 None값으로 불러오기 na_values = ['?', '??', 'N/A', 'NA', 'nan', 'NaN', '-nan', '-NaN', 'null','None', ..
- Total
- Today
- Yesterday
- python'
- LLM
- writerow
- pdfmathtranslate
- python
- TextRank
- MongoDB
- cursorai
- PostgreSQL
- 지식그래프
- rdflib
- SPARQL
- geospy
- knowledgegraph
- psycopg
- ChatGPT
- 키워드추출
- hadoop
- polars
- 지식그래프임베딩
- Claude
- Vue3
- Postgis
- vscode
- pandas
- PEFT
- Encoding
- rdffox
- vervel
- deepseek
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |