| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- yaml
- RandomAccessFile
- pandas
- PowerShell
- scaler
- curl
- vscode
- Vite
- podman
- vim
- Mode
- CSS
- Python
- value_counts
- Ollama
- Webpack
- UV
- 최빈값
- json schema
- scikit-learn
- Docker Compose
- docker
- cli
- json
- io
- Typescript
- Java
- FileChannel
- tauri
- 정렬
- Today
- Total
목록전체 글 (75)
워로디스
1. 핵심 개념: pandas는 입력 객체에 따라 동작이 달라진다pandas에서 가장 헷갈리기 쉬운 부분 중 하나는 동일한 메서드라도 입력 객체가 Series인지 DataFrame인지에 따라 동작이 달라질 수 있다는 것이다.특히 value_counts(), idxmax(), mode()를 이해하려면 다음 세 가지를 구분해야 한다.입력 객체의 자료형: Series인가, DataFrame인가?반환 객체의 자료형: Series인가, DataFrame인가?반환 객체의 인덱스 구조: 일반 Index인가, MultiIndex인가?이 세 가지를 이해하면 여러 메서드를 연결해서 사용하더라도 결과를 예측하기 쉬워진다.2. value_counts(): 데이터의 등장 횟수를 계산하는 메서드value_counts()는 데이터..
pandas의 groupby()는 데이터 분석에서 정말 자주 쓰이는 기능입니다.핵심은 특정 컬럼을 기준으로 데이터를 그룹으로 묶고, 그룹별로 계산하는 것입니다.실무에서 자주 사용하는 패턴 6가지만 알아도 대부분의 기본적인 집계 작업을 처리할 수 있습니다.0. 예제 데이터아래 데이터를 기준으로 설명하겠습니다.import pandas as pddf = pd.DataFrame({ "region": ["서울", "서울", "부산", "부산", "서울", "부산"], "category": ["식품", "가전", "식품", "가전", "식품", "식품"], "customer": ["A", "B", "A", "C", "B", "D"], "sales": [100, 30..
pandas가 헷갈리는 이유는 비슷한 대괄호 문법이 상황에 따라 다르게 해석되기 때문입니다. 핵심은 df[...]와 .loc[...]의 해석 기준이 서로 다르다는 점입니다.1. df[...]는 안에 들어온 값의 종류에 따라 의미가 달라진다df['Fare']'Fare'는 열 이름이므로 열 선택입니다.df[['Fare', 'Age']]열 이름들의 리스트이므로 역시 열 선택입니다.반면:df[df['Fare'] 먼저df['Fare'] 의 결과는 다음과 같은 Boolean Series입니다.0 True1 True2 False3 True...그리고 pandas는df[boolean_series]형태를 만나면 Boolean 값에 따라 행을 필터링합니다.따라서:df[df['Fare'] 은Fa..
value_counts()는 Pandas에서 범주형 데이터의 분포를 빠르게 확인할 때 가장 자주 쓰는 함수 중 하나입니다. 핵심은 보통 DataFrame 전체보다 특정 컬럼(Series)에 사용하는 경우가 훨씬 많다는 점입니다.1. 가장 기본적인 사용: 값별 개수 세기df['Sex'].value_counts()예:Sexmale 577female 314Name: count, dtype: int64해석:male이 577개female이 314개즉, SQL의 GROUP BY + COUNT()와 비슷한 용도로 생각하면 됩니다.SELECT Sex, COUNT(*)FROM dfGROUP BY Sex;Titanic처럼 범주형 변수가 있는 데이터에서 가장 흔하게 사용합니다.df['Survived'].val..
범주형 변수가 Red, Blue, Green 세 가지 값을 가진다고 해보겠습니다.원핫인코딩을 하면 다음처럼 표현됩니다.색상RedBlueGreenRed100Blue010Green001여기서 중요한 점은 세 열 중 두 열의 값만 알면 나머지 한 열도 자동으로 알 수 있다는 것입니다.예를 들어 Red 열을 제거하면:색상BlueGreenRed00Blue10Green01이제도 원래 범주를 완전히 구분할 수 있습니다.Blue=0, Green=0 → RedBlue=1, Green=0 → BlueBlue=0, Green=1 → Green즉, 첫 번째 범주의 열을 삭제한다고 해서 범주에 대한 정보가 사라지는 것은 아닙니다.삭제된 범주는 나머지 더미변수가 모두 0인 경우로 표현되며, 이를 기준 범주(reference ca..
Pandas에서 최빈값(mode) 은 .mode()으로 구합니다.import pandas as pds = pd.Series([1, 2, 2, 3, 3, 3, 4])s.mode()결과:0 3dtype: int64값만 하나 꺼내려면:s.mode()[0]DataFrame 컬럼에서 구하기df["col"].mode()df["col"].mode()[0]단, 최빈값이 여러 개일 수 있기 때문에 .mode()는 항상 Series 형태로 반환합니다.예:s = pd.Series([1, 1, 2, 2, 3])s.mode()결과:0 11 2dtype: int64빈도수 자체도 확인하려면:df["col"].value_counts()가장 빈도가 높은 값 하나만 필요하다면:df["col"].value_counts()..
파일이나 바이너리 데이터를 내용 기반 식별자(Content ID) 로 만들고 싶다면 다음 구조가 가장 단순하고 실용적이다.Uint8Array ↓SHA-256 ↓앞 16바이트 사용 (128bit) ↓hex 또는 base64url 문자열1. 해시 알고리즘: SHA-256브라우저나 Web Crypto API를 사용할 수 있는 환경이라면 SHA-256이 무난하다.const digest = new Uint8Array( await crypto.subtle.digest("SHA-256", data));digest는 32바이트, 즉 256비트의 Uint8Array다.SHA-1도 단순 파일 식별 용도로는 우연 충돌 가능성이 충분히 낮을 수 있지만, 이미 암호학적 충돌 저항성이 깨진 알고리즘이다. 새 시스템이라면 ..
1. 입력: 함수에 무엇이 들어오는가Series.apply()df["a"].apply(func)func에는 df["a"]의 값 하나씩 들어온다.def func(x): # x = 개별 값 return ...예:df["a"].apply(lambda x: x * 2)a가 다음과 같다면:102030함수는 개념적으로 다음처럼 호출된다.func(10)func(20)func(30)DataFrame.apply(axis=1)df.apply(func, axis=1)func에는 행 하나씩 들어온다.각 행의 타입은 Series이다.def func(row): # row = 한 행 전체 return ...예:df.apply( lambda row: row["a"] + row["b"], axis=1)..
