pandas

👩‍💻 Develope/Python

[Pandas] to.sql()

[Pandas] to.sql()to_sql()판다스 데이터 프레임을 SQL 데이터 베이스에 저장하는 방법으로 to.sql() 메서드가 있다.이를 통해 로컬 또는 원격 데이터베이스에 데이터를 쉽게 저장할 수 있다. 기본 사용법먼저 다음과 같이 라이브러리를 import 해준다.import pandas ps pdfrom sqlalchemy import create_enginecreate_engine은 SQLAlchemy 라이브러리에서 제공하는 함수로, 데이터베이스와의 연결을 설정하는 데 사용된다.# 샘플 데이터프레임 생성data = {'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35], 'city': ['New York', 'Los A..

👩‍💻 Develope/Python

[Pandas] apply로 다중 반환 값을 여러 열에 할당하기

[Pandas] apply로 다중 반환 값을 여러 열에 할당하기데이터 프레임에서 각 행의 특정 열에 함수를 적용하고, 그 결과를 여러 열에 나누어 저장하는 작업은 데이터 처리 과정에서 자주 발생하는 요구다. 이는 apply 함수를 활용하여 이를 간단하게 구현할 수 있다. apply와 lambda를 활용해 특정 열에 함수를 적용하고,결과를 여러 열로 나누어 담는 방법에 대해 알아보자. 다중 반환 값 할당판다스의 apply 함수는 데이터프레임의 행(axis=1) 또는 열(axis=0)에 대해 함수를 적용할 수 있게 해준다.이때, 반환된 값이 여러 개라면 이를 새로운 열로 확장할 수 있다. 아래는 데이터프레임의 'A'열에 대해 각 값을 두 배와 세 배로 만드는 함수를 적용하고,그 결과를 새로운 두 개의 열에 ..

👩‍💻 Develope/Python

[Pandas] 데이터프레임에서 날짜와 시간 다루기

[Pandas] 데이터프레임에서 날짜와 시간 다루기판다스 데이터프레임에서 날짜와 시간을 포함한 데이터를 처리하는 방법에 대해서 알아보고자 한다. 날짜와 시간 데이터 변환하기날짜와 시간 정보가 함께 있는 데이터는 to_datetime 함수를 사용하여 datetime 형식으로 변환할 수 있다.import pandas as pddata = { 'event': ['A', 'B', 'C'], 'datetime': ['2023-08-01 14:30:00', '2023-08-05 09:15:00', '2023-08-10 18:45:00']}df = pd.DataFrame(data)# 문자열을 날짜 및 시간으로 변환df['datetime'] = pd.to_datetime(df['datetime'])print(df)..

👩‍💻 Develope/Python

[Pandas] 업데이트 (update)

[Pandas] 업데이트 (update) pandas의 내장 함수인 update는 다른 데이터 프레임의 NA 가 아닌 값을 사용하여 데이터프레임의 값을 수정한다. 업데이트는 인덱스를 기준으로 정렬하며, 반환값이 없다. DataFrame.update(other, join='left', overwrite=True, filter_func=None, errors='ignore') update 함수는 위와 같이 사용이 가능하며, 파라미터에 대한 설명은 다음과 같다. other : 데이터 프레임에 덮어씌울 객체를 말한다. join : 기준이 될 인덱스다. left만 선택이 가능하므로 제외 가능하다. overwrite : 덮어씌울 방식이다. True면 데이터프레임의 모든 데이터에 other을 덮어씌우며, False면..

👩‍💻 Develope/Python

[Pandas] Query

[Pandas] Query Pandas에서 조건에 부합하는 데이터를 추출할 때, 가장 많이 사용하는 게 Query함수라고 한다. 가독성과 편의성은 좋지만, .loc[]로 구현한 것 보다 속도가 느리다. query 함수를 사용하기 위해서 랜덤 데이터프레임을 생성해준다. import pandas as pd import names from random import * age = [randint(16, 19) for i in range(0, 101)] gender = [choice(["male", "female"]) for i in range(0, 101)] name = [names.get_first_name(gender=g) for g in gender] cl = [choice(['A','B','C','D']..

👩‍💻 Develope/Python

[Pandas] Group by

[Pandas] Group by Pandas 라이브러리를 사용해서 Dataframe에서 Group by를 통해 데이터를 집계하는 방법에 대해 알아보자 문법 기본 문법은 다음과 같다. 데이터프레임.groupby(그룹이되는 컬럼)[계산을 하고싶은 컬럼].집계함수() 사용 예제 먼저 랜덤 라이브러리를 사용해 샘플 데이터 프레임을 생성해준다. import names from random import * age = [randint(16, 19) for i in range(0, 101)] gender = [choice(["male", "female"]) for i in range(0, 101)] name = [names.get_first_name(gender=g) for g in gender] cl = [choic..

👩‍💻 Develope/Python

[Pandas] 데이터프레임 리스트로 변환하기

[Pandas] 데이터프레임 리스트로 변환하기 데이터 프레임을 리스트로 변환하여 처리해야 할때, 리스트로 변환하는 방법은 여러가지가 있다. 먼저 샘플 df를 생성한다. import pandas as pd df = { 'key': ['A', 'B', 'C', 'D'], 'value': [1, 2, 3, 4] } df = pd.DataFrame(df, columns=['key','value']) 칼럼 선택 후 리스트로 변환하기 데이터 프레임의 각 칼럼은 시리즈(Series)라는 데이터 타입으로 이루어져있다. 시리즈는 to_list() 함수를 이용해 리스트로 변환하거나, list() 함수를 이용해서 리스트로 변경할 수 있다. df['key'].to_list() ['A', 'B', 'C', 'D'] list(d..

👩‍💻 Develope/Python

[Pandas] 데이터 프레임 컬럼 순서 바꾸기

[Pandas] 데이터 프레임 컬럼 순서 바꾸기 데이터 프레임에서 컬럼 순서를 바꾸는 방법엔 2가지가 있음 1. reindex 함수 사용하기 import pandas as pd # 샘플 데이터프레임 생성 data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]} df = pd.DataFrame(data) # 변경할 컬럼 순서를 지정한 리스트 생성 new_order = ['C', 'A', 'B'] # reindex를 사용하여 컬럼 순서 변경 df = df.reindex(columns=new_order) print(df) C A B 0 7 1 4 1 8 2 5 2 9 3 6 2. loc 함수 사용하기 import pandas as pd # 샘플 데이터프레임 생성 da..

👩‍💻 Develope/Python

[Pandas] 데이터 프레임에서 suffix를 prefix로 바꾸기

[Pandas] 데이터 프레임에서 suffix를 prefix로 바꾸기 Pandas 데이터프레임에서, Merge를 할 경우 on을 걸은 컬럼을 제외한 나머지 컬럼은 '_X', '_Y' 등으로 Suffix(접미사)가 생성된다. suffixes 매개변수를 사용하여 접미사(suffix) 이름을 변경할 수 있음 아래는 접미사의 이름을 '_A', '_B' 로 변경하는 예제 merged_df = pd.merge(df1, df2, on='key', suffixes=('_A', '_B')) 하지만 나는 Suffix(접미사)가 아니라 Prefix(접두사)로 오게하고 싶은데, 아쉽게도 pandas에서는 따로 지원하지 않는 것 같음 그렇다면 어떻게 해야할까? 바로바로 함수를 만들어주면 된다. 데이터 프레임 생성 import ..

👩‍💻 Develope/Python

[Pandas] 결측치 제거 & 교체

[Pandas] 결측치 제거 & 교체 데이터를 merge하는 등 가공을 할 때, 결측치 때문에 결과가 제대로 나오지 않는 경우가 있음 Dataframe에서 결측치를 제거하거나 교체하는 방법을 찾아봄 데이터 A컬럼과 B컬럼에 결측치가 있음 import pandas as pd df = pd.DataFrame({'A': [1, 2, None, 4, 5], 'B': [None, 2, 3, None, 5], 'C': [1, 2, 3, 4, 5]}) A B C 0 1.0 NaN 1 1 2.0 2.0 2 2 NaN 3.0 3 3 4.0 NaN 4 4 5.0 5.0 5 결측치 제거 결측치가 있는 행이 모두 제거됨 df.dropna(inplace=True) print(df) A B C 1 2.0 2.0 2 결측치 교체 ..

👩‍💻 Develope/Python

[Pandas] 데이터 프레임의 컬럼을 DB 테이블에 검색하기

[Pandas] 데이터 프레임의 컬럼을 DB 테이블에 검색하기 테이블을 검색할 때, 조건을 데이터 프레임의 컬럼의 요소로 두고 싶었음 ex) 테이블 컬럼 A의 데이터가 데이터 프레임 컬럼 B의 데이터와 동일한 데이터를 검색 데이터 데이터베이스의 데이터 test1 _id | name | age | grade | +------+------+------+-------+ | 1000 | jon | 25 | A | | 1001 | sara | 20 | B | | 1002 | may | 23 | F | | 1003 | jay | 21 | C | 데이터 프레임 df df = pd.DataFrame({ 'ID' : [1000,1001,1002], 'NAME' : ['jon','sara','may'] }) ID NAME..

👩‍💻 Develope/Python

[Pandas] 데이터프레임 정렬하기

[Pandas] 데이터프레임 정렬하기 데이터 import pandas as pd df = pd.DataFrame([ [100,20,3], [1,200,30], [10,2,300]], columns = ['a','b','c'], index = ['A','B','C'] ) a b c A 100 20 3 B 1 200 30 C 10 2 300 1. 값 기준으로 정렬 (sort_values) sort_values 값을 기준으로 데이터를 정렬하는 메서드 컬럼 [a]를 기준으로 데이터 프레임 정렬 df.sort_values('a') a b c B 1 200 30 C 10 2 300 A 100 20 3 컬럼 [a]를 기준으로 내림차순 정렬 ✔ Default가 오름차순, ascending=False 을 사용해 내림차순..