전역변수를 활용하면 가능하다. 예를 들어, 시도명 또는 시도코드마다 데이터 프레임을 만들고 싶을 때 아래와 같은 코드를 사용할 수 있음 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..
pandas는 df[[df['컬럼'] == 'abc']] 이런 구문으로 찾았는데, polars는 filter라는 함수를 사용함 df.filter(pl.col("컬럼") == "abc") 조건이 여러개인 경우 공식 홈페이지 예시 df.filter((pl.col("foo") < 3) & (pl.col("ham") == "a")) 중복값이 있는 행 조 df.filter(pl.col('컬럼').is_duplicated())

polas에서 데이터프레임을 출력하면 긴 문자열을 아래 사진처럼 끊긴다 pandas에서는 max_colwidth을 쓰면 해결됐었음 https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.option_context.html pandas.option_context — pandas 2.1.3 documentation next pandas.option_context.__call__ pandas.pydata.org polars의 문법 pl.Config.set_fmt_str_lengths(200) 공식 홈페이지의 예시 코드 df = pl.DataFrame( { "txt": [ "Play it, Sam. Play 'As Time Goes By'.", "T..
공식홈페이지 기본 문법 df.cast({"foo": pl.Float32, "bar": pl.UInt8}) 모든 데이터의 형식을 str(문자열)로 바꾸기 -> utf8 df = df.with_columns(pl.all().cast(pl.Utf8, strict=False)) with_columns로 모든 컬럼(pl.all())을 불러오고, 모든 컬럼의 데이터 타입을 cast로 지정해 변환함 strict는 예외발생시 강제로 수행할 것인가를 지정함 (참고용) 리스트 안에 있는 값을 str으로 변환하는 코드 출처: https://stackoverflow.com/questions/75628413/cast-column-of-type-list-to-str-in-polars df.with_columns(pl.col("f..
pandas와 다르게, index가 포함되지 않고 저장됨 # 기본 코드 df.write_csv("파일명.csv") 판다스는 인코딩을 특정해서 저장할 수 있지만, polars는 현재(2023-11-21) 지원하지 않음 대신, 계속 업데이트 중이라서 최근 `include_bom` 변수로 윈도우의 인코딩을 지원할 수 있게 되었음 (polars 0.19.15 버전 기준) https://github.com/pola-rs/polars/pull/12253 df.write_csv("파일명.csv", include_bom=True) 이외의 파라미터는 공식홈페이지를 참고 아래는 단순 번역한 내용임 (최신 라이브러리라서, 계속 변경될 가능성이 높음) parameter: - file (파일): 결과가 기록될 파일 경로 또는 ..
모두 null값이 없는 컬럼이라면 아래와 같이 사용할 수 있음 df = df.with_columns(새컬럼 = pl.col('참조컬럼1') + pl.col('참조컬럼2')) null값이 존재하는 행을 처리하려면 when, then, otherwise 사용 df = df.with_columns(새컬럼 = pl.when(pl.col('참조컬럼2') != None).then(pl.col('참조컬럼1') + pl.col('참조컬럼2')).otherwise(None)) 참조컬럼2에 null(None)이 아니면 (when) 참조컬럼1+참조컬럼2의 값을 기입(then) 참조컬럼2에 null(None)이면 (when) 참조컬럼1+참조컬럼2의 값이 아니라(otherwise) None을 기입 apply(=map_eleme..
csv 파일을 읽어올 때, 특정 문자열을 None으로 바꾸기 df = pl.read_csv("data.csv", dtype=str, na_values=["", " "]) 참고: stackoverflow df = pl.read_csv("test.csv", infer_schema_length=0).with_columns(pl.all().cast(pl.Utf8, strict=False)) 데이터프레임이 이미 생성된 경우, 특정 문자열을 None으로 바꾸기 df = df.with_columns( pl.when(pl.col(pl.Utf8) == "") .then(None) .otherwise(pl.col(pl.Utf8)) # keep original value .name.keep() ) 여러 문자열 중 하나라도 ..

넣으려는 데이터베이스에 접속하고 익스텐션 꼭 설치 1. CREATE EXTENSION postgis; shp2pgsql 사용해서 shp 파일 업로드 2. shp2pgsql -c -D -s 5179 -W cp949 {file_path} {table_name} | psql -U {user_name} -d {db_name} -c: 테이블 생성 -a: 이미 테이블이 있는 경우면 -c대신 -a사용 결과 geom 컬럼이 내가 보던 geometry 형식이랑 달라서 당황했는데, 관련 블로그 글을 보니 다른 표준 형식이라고 함 보통 polygon((0 0, 1 0, 1 1, 01, 0 0)) 이런 형태는 WKT라고 부름 애초에 shp2pgsql로 업로드 할때 WKT로 할 수 없나? "-w"를 넣으면 된다고 하는데 똑같이..
조회 전 통계 테이블의 업데이트를 위해 VACUUM 또는 ANALYZE 실행 VACUUM ANALYZE; ANALYZE VERBOSE; DB의 크기에 따라 시간이 소모됨. SELECT schemaname, relname, n_live_tup AS row_count, (SELECT count(*) FROM pg_attribute WHERE attrelid = pg_stat_user_tables.relid) AS column_count FROM pg_stat_user_tables ORDER BY n_live_tup DESC; n_live_tup는 행 수를 나타냄 attrelid는 테이블과 연결된 카탈로그 엔트리를 가리키는데, 이를 이용하여 해당 테이블의 열 수를 세어 출력함 참고) [Postgresql] 전..
- Total
- Today
- Yesterday
- MongoDB
- hadoop
- Claude
- PostgreSQL
- Vue3
- pandas
- python
- rdflib
- vscode
- python'
- polars
- 키워드추출
- Encoding
- PEFT
- SPARQL
- pdfmathtranslate
- cursorai
- Postgis
- knowledgegraph
- writerow
- rdffox
- geospy
- deepseek
- LLM
- 지식그래프
- vervel
- psycopg
- 지식그래프임베딩
- TextRank
- ChatGPT
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |