-
자주 쓰는 Pandas 코드pandas & duckdb 2024. 8. 13. 11:08
데이터 통계 보기
df.info() df.describe() df.describe(include='object') df.value_counts()
데이터 필터링
df[['name', 'age']] df.loc[df['a'] > 10, ['a', 'c']] # Select rows meeting loglogical condition, and only the specific columns . df.sample(frac=0.5) df.sample(n=10) # Randomly select n rows.
1개의 Cell 읽어 DataFrame 이 아닌 원래 type 으로 리턴하기
web_doc_meta.loc[web_doc_meta['key'] == 'vTime', 'value'].to_numpy()[0]
Column 타입 변경하기
df["is_deleted"] = df["is_deleted"].astype(str)
기존 데이터를 변환해 새로운 Column 으로 추가하기
import pendulum df["visitTime"] = df["vTime"].apply( lambda ts: pendulum.from_timestamp(ts / 1000, tz="Asia/Seoul").format("YYYY-MM-DD HH:mm:ss.SSSZ") )
duckdb UDF 사용하기 - 참고
import pendulum import duckdb duckdb.create_function("convert_vtime", lambda ts: pendulum.from_timestamp(ts / 1000, tz="Asia/Seoul").format("YYYY-MM-DD HH:mm:ss.SSSZ") df = duckdb.sql("""select *, convert_time(vTime) as visitTime from df""").to_df()
Plot
df['cost'].plot(kind='hist', range=[0, 1000], xlabel='cost', ylabel='count', bins=30, grid=True)
DataFrame 만들기
import pandas as pd df = pd.DataFrame( data=[ ("A", 10), ("B", 20) ], columns=["name", "age"] ) print(df) # name age # 0 A 10 # 1 B 20
df = pd.DataFrame( { 'name': ['A', 'B', 'C'], 'age': [1, 2, 3], 'children': [4, 5, 6] } ) print(df) # name age children # 0 A 1 4 # 1 B 2 5 # 2 C 3 6
'pandas & duckdb' 카테고리의 다른 글
Time Series 데이터를 시각화 (0) 2022.10.25 데이터 전처리, 추가, 삭제, 변환 (0) 2022.10.08 복사와 결측치 (0) 2022.10.08 통계 (0) 2022.10.08 조회, 정렬, 필터 (0) 2022.08.20