일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 라즈베리파이
- javascript
- python
- pandas
- MS-SQL
- 맛집
- 다이어트
- flutter
- 리눅스
- port
- 날짜
- 함수
- PyQt5
- IOS
- 유니티
- tensorflow
- PER
- PyQt
- node.js
- swift
- urllib
- ubuntu
- Unity
- MySQL
- ASP
- Excel
- mssql
- GIT
- Linux
- sqlite
목록랭귀지 (579)
아미(아름다운미소)
import pandas as pdimport requestsfrom typing import Optional, Dict, Any, Tupleimport warningswarnings.filterwarnings('ignore')class EnhancedFinancialAnalyzer: """네이버 금융 재무제표 분석기 - 확장된 재무비율 포함""" def __init__(self): self.headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36' } ..
import pandas as pdimport requestsfrom typing import Optional, Dict, Anyimport warningswarnings.filterwarnings('ignore')class FinancialAnalyzer: """네이버 금융 재무제표 분석기""" def __init__(self): self.headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36' } def get_financial_..
import pandas as pdimport requestsdef get_financial_statement(ticker): """ 네이버 금융에서 손익계산서 데이터를 가져오는 함수 """ url = f'https://finance.naver.com/item/main.naver?code={ticker}' try: tables = pd.read_html(url, encoding='euc-kr') except: return None for table in tables: if table.shape[1] >= 3 and '매출액' in table.iloc[:, 0].values: return table retu..
import pandas as pd# 예시 데이터프레임 생성 (실제 사용시에는 주석 처리)data = { 'a': [1, 1, 1, 2, 2, 2], 'b': ['x', 'x', 'y', 'y', 'y', 'y'], 'c': [10, 10, 20, 20, 20, 30], 'd': [100, 100, 200, 300, 300, 400]}df = pd.DataFrame(data)# 그룹별로 d 컬럼의 최빈값 계산 (동률일 경우 최소값 선택)result = df.groupby(['a', 'b', 'c'])['d'].agg( lambda x: x.mode().min() if not x.mode().empty else None).reset_index()print(result)
import pandas as pd# 예제 데이터 생성df1 = pd.DataFrame({ 'a': [1, 2, 3], 'b': ['x', 'y', 'z'], 'c': [0.1, 0.2, 0.3]})df2 = pd.DataFrame({ 'd': [10, 20]})# 크로스 조인 수행 (방법 1)cross_join = df1.assign(key=1).merge(df2.assign(key=1), on='key').drop('key', axis=1)# 크로스 조인 수행 (방법 2 - pandas 1.2.0+)cross_join = df1.merge(df2, how='cross')print(cross_join)
**✅ 기능**: 주어진 데이터프레임에서 지정한 그룹 컬럼 기준으로, **유효한 값이 있는 가장 최신 주차의 데이터**로 결측값을 채웁니다. **🛡️ 안전성**: 최신 주차 값이 `NaN`이어도 그 다음 최신 유효값을 자동으로 찾아 처리합니다.import pandas as pdimport numpy as np# ------------------------------# 1. 예제 데이터 생성# ------------------------------df = pd.DataFrame({ 'a': ['x', 'x', 'x', 'x', 'y', 'y'], # 그룹 컬럼 1 'b': ['u', 'u', 'u', 'u', 'v', 'v'], # 그룹 컬럼 2 'c': ['p', 'p', 'p',..
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'), 's..
df1 = df.groupby(by=['a'], as_index=False).max() # 또는 다른 집계 함수df['a'] = np.nan if df1['a'].isnull().any() else df1['a'].max()# 컬럼 'a'가 있고, NaN이 아닌 값이 하나라도 있으면 최대값, 아니면 np.nandf['a'] = df1['a'].max() if 'a' in df1.columns and df1['a'].notna().any() else np.nan🎯 EX)import pandas as pdimport numpy as np# 예제 1: 'a' 컬럼이 있고, NaN이 아닌 값이 존재하는 경우df1 = pd.DataFrame({'a': [3, 7, np.nan]})df = pd.DataFram..
시작# ❌ 잘못된 원래 코드 (에러 발생)df['a'] = df1['a'].agg(lambda x: np.nan if x.isnull.any() else x.max()).reset_index(drop=True)# "전체에 null이 하나라도 있으면 np.nan, 아니면 최대값"# ✅ 올바르고 간결한 코드df['a'] = np.nan if df1['a'].isnull().any() else df1['a'].max()# 결론: 맞습니다! 이게 가장 pandas다운 깔끔한 코드입니다.# 복잡한 agg() 체이닝 대신 조건부 표현식 + 자동 브로드캐스팅을 활용한 완벽한 해결책🎯 결론 : 최종선택if 'a' in df1.columns: # NaN이 아닌 값이 하나라도 있으면 최대값, 아니면 np.nan ..
df['a'] = df1['a'].agg(lambda x: np.nan if x.isnull.any() else x.max()).reset_index(drop=True)Colums must be same length as key 에러원래 코드 `df['a'] = df1['a'].agg(...)`에서 발생한 에러는 `agg()`가 단일 값을 반환하기 때문에 `df['a']`의 길이와 맞지 않아서 발생한 문제수정import pandas as pdimport numpy as np# 1. 예제 데이터 생성df = pd.DataFrame({'other_col': [10, 20, 30]}) # 타겟 DataFrame (3행)df1 = pd.DataFrame({'a': [1, np.nan, 3]}) # 소..