Notice
														
												
											
												
												
													Recent Posts
													
											
												
												
													Recent Comments
													
											
												
												
													Link
													
											
									| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 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 | 
													Tags
													
											
												
												- 함수
- MySQL
- 날짜
- sqlite
- Unity
- port
- 리눅스
- mssql
- IOS
- Excel
- 유니티
- tensorflow
- flutter
- Linux
- MS-SQL
- ubuntu
- python
- 라즈베리파이
- PyQt
- PyQt5
- pandas
- ASP
- urllib
- 다이어트
- javascript
- 맛집
- swift
- GIT
- PER
- node.js
													Archives
													
											
											
											
											아미(아름다운미소)
dataframe 타입지정 본문
def process_dataframe_optimized(dict_df_types, df):
    type_handlers = {
        'int': lambda s: pd.to_numeric(s, errors='coerce').fillna(0).astype('int32'),
        'float': lambda s: pd.to_numeric(s, errors='coerce').fillna(0).astype('float32'),
        'bool': lambda s: s.astype(str).str.lower().isin(['true', 't', '1']),
        'datetime': lambda s: pd.to_datetime(s, errors='coerce'),
        'string': lambda s: s.astype('string').fillna(''),  # 빈 문자열로 채우기
        'category': lambda s: s.fillna('').astype('category')  # 빈 문자열로 채우기
    }
    
    # 교집합으로 존재하는 컬럼만 선택 (속도 향상)
    valid_cols = set(df.columns) & set(dict_df_types.keys())
    
    # 한 번에 모든 컬럼 처리 (assign 사용)
    return df.assign(**{
        col: type_handlers[dtype](df[col]) 
        for col, dtype in dict_df_types.items() 
        if col in valid_cols and dtype in type_handlers
    })'랭귀지 > pandas' 카테고리의 다른 글
| pandas cross join (0) | 2025.08.01 | 
|---|---|
| 그룹별 최신 유효값으로 결측값 채우기 (2) | 2025.07.31 | 
| 컬럼 유무 및 NaN 검사를 고려한 안전한 최대값 추출 (0) | 2025.07.26 | 
| 전체에 null이 하나라도 있으면 np.nan, 아니면 최대값 (1) | 2025.07.25 | 
| 길이 불일치 (0) | 2025.07.25 | 
			  Comments