강의 중에 성별의 경우 성별이라는 COLUMN에 여자는 0, 남자는 1 이런식으로 하면 안 되고 여자 칼럼/남자 칼럼을 나눠줘야 한다고 하셨는데 그 이유가 뭔지 질문 드립니다! 대소관계가 없도록 하는 거라고 하셨는데, 잘 이해가 되지 않아서요! 또 그럼 반대로 ordinal category의 경우 사이즈라는 칼럼을 만들어서 L은 3, m은 2, s는 1로 한 번에 넣어도 괜찮은 건가요? 늘 감사합니다, 강사님!
앙상블의 boosting에 대해 듣던 중 질문이 있어 글을 남깁니다! residual error를 실제 값과 예측값의 차이라고 이해했는데, 검색해보니 단순 error와는 조금 다른 말이라는 이야기가 많아서요. 혹시 error와 residual error에 차이가 있나요?
part1의 실습 - 선형회귀모델 - 당뇨병진행률 예측 에서 질문 있습니다! diabetes_X를 정의할 때 reshape해주는 게 매트릭스를 만들기 위해서라고 해주셨는데요! 혹시 그럼 Test 셋을 정의할 때에는 그럴 필요가 없는 건가요? (??,)인 걸 (??,1)로 만들어주는 RESHAPE를 diabetes_X할 때는 했는데, diabetes.target 은 그냥 (??,) 형태인데도 따로 그 과정을 안 거치는 지 궁금합니다!
파이참으로 파이썬 하는 학생입니다 matplotlib을 인터프리터에 설치하고 import matplotlib.pylot as plt 로 import하려고하니 Traceback (most recent call last): File "C:\pythonProject\test.py", line 1, in <module> import matplotlib.pyplot File "C:\pythonProject\venv\Lib\site-packages\matplotlib\__init__.py", line 272, in <module> check versions() File "C:\pythonProject\venv\Lib\site-packages\matplotlib\__init__.py", line 266, in check versions module = importlib.import_module(modname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\johan\AppData\Local\Programs\Python\Python312\Lib\importlib\__init__.py", line 90, in import_module return bootstrap. gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\pythonProject\venv\Lib\site-packages\kiwisolver\__init__.py", line 8, in <module> from ._cext import ( ImportError: DLL load failed while importing _cext: 지정된 모듈을 찾을 수 없습니다. 오류가 생깁니다. pip버전 업데이트 해봤고 파이썬 3.12.2말고 3.12도 다시 깔아서 해봤고 파이참도 다시깔아서 해봤는데 안되네요 내 pc초기화로 초기화해보고 다시 설치했는데도 안됩니다 참고로 노트북입니다 pc환경에서는 잘만되는데 다 밀어버리고 초기화 했는데도 안되네요 뭐가 문제일까요?
좋은강의 감사합니다. tf.data 를 이용한 shuffling and batch 구성 관련 문의 드립니다. tf.data 를 이용한 shuffling and batch 구성하는 경우의 코드(아래코드)를 tf.data 를 이용한 shuffling and batch 구성하지 않는 경우로 변경하는 경우 아래코드를 어떻게 변경해야하나요? -아래- train_ds = tf.data.Dataset.from_tensor_slices((X_train_scaled, y_train_onehot))\ .shuffle(10000).batch(128) test_ds = tf.data.Dataset.from_tensor_slices((X_test_scaled, y_test_onehot)).batch(128) .. history = model.fit(train_ds, epochs=5, validation_data=test_ds) 답변부탁드립니다. 2024.3.9
import time import pandas as pd def get_item_info(item_code): item_url = f' https://finance.naver.com/item/main.naver?code={item_code} ' tables = pd.read _html(item_url, encoding='cp949') # if len(tables) == 13: # 코넥스를 거르기 위해 추가함 # continue item_info = [] # 빈 리스트 생성 finance_info = tables[3].iloc[:,[0,-2]] finance_info.columns = [0,1] # 합치기 전 칼럼명 일치시켜주기 item_info.append(finance_info) for t in tables: if t.shape[1] == 2: item_info.append(t) df_item = pd.concat(item_info) df_item = df_item.set_index(0).T time.sleep(0.2) # 과부하 막기 위한 지연 조회, 최소 0.1 이상. return df_item import numpy as np import seaborn as sns import matplotlib.pyplot as plt # 한글폰트 위함 import datetime plt.style .use("seaborn-v0_8-talk") font_family = "Malgun Gothic" plt.rc("font", family = font_family) plt.rc("axes", unicode_minus=False) url = ' https://finance.naver.com/sise/sise_group_detail.naver?type=upjong&no=282 ' table = pd.read _html(url, encoding='cp949') raw = table[2] raw = raw.dropna(how='all').dropna(axis=1, how='all') #추가해서 칼럼도 모두 결측치시 삭제. today = datetime.datetime.today () today = today.strftime('%y%m%d') raw['종목명전처리'] = raw['종목명'].str.replace('*','', regex=True) # 문자치환 raw['종목명전처리'] = raw['종목명전처리'].str.strip() # 앞뒤 공백 제거 import FinanceDataReader as fdr df_krx = fdr.StockListing('KRX') # print(df_krx[['Code','Name']]) df_item_code_name = df_krx[['Code','Name']] # 위의 종목명_전처리 칼럼과 Name 칼럼을 연결지어서 코드 잡아준다. df_item_code_name.columns = ['종목코드', '종목명전처리'] raw = raw.merge(df_item_code_name) # 강의에서 df에 해당함 # progress_apply는 map의 사용방법을 되짚어보면서 봐라. 일괄적으로 함수 적용시 사용. # 진행사항을 보려면 progress_apply을 사용하면 된다. from tqdm.auto import tqdm tqdm.pandas() result = raw['종목코드'].progress_apply(get_item_info) # result로 받아서 데이터프레임 형식으로 concat 해줘야해서 tolist() 사용함 df_item_info = pd.concat(result.tolist()) # print(df_item_info['종목코드']) # 출력해보면 종목코드가 없다. 그래서 넣기 # df_item_info['종목코드'] = raw['종목코드'] # 아래의 reset_index를 위해 비활성화함 # print(df_item_info['종목코드']) # 위에서 index값이 1로 모두 같아 종목코드가 모두 동일 하므로 아래처럼 인덱스 다시 적용 df_item_info = df_item_info.reset_index() df_item_info['종목코드'] = raw['종목코드'] # print(df_item_info['종목코드']) # 위와 같이 작업 후 index라는 칼럼을 삭제해 준다. del df_item_info['index'] # print(raw.shape) df_info = raw.merge(df_item_info) # 따로 지정 안해줘도 종목코드가 같기에 합쳐진다. # 파일명 만들기 file_name_1 = url.split('=')[1].replace('&','_') file_name_2 = url.split('=')[2] file_name = f'{file_name_1}_{file_name_2}.csv' # 저장하기 df_ info.to _csv(file_name, index=False, encoding='cp949') 위와 같이 코드를 작성하고 실행 했는데요. 제목과 같은 오류가 발생 했습니다. 원인을 찾아 본 결과. 코넥스 종목이 포함되어 있어서 칼럼명이 맞지 않아 발생하는 것으로 보입니다. 위의 이미지와 같이 코넥스 종목은 코스닥, 코스피 종목 처럼 table 개수 13개 보다 적게 나오므로 if문으로 table개수가 13개 이하이면 건너띄어 데이터를 받게 하면 오류가 발생하지 않을 것 같은데요. if 문을 함수 어느 위치에 넣으면 좋을지 모르겠어서 질문 드립니다. 어느 위치에 if문을 넣어서 해결하면 좋을까요?
IN[ ] 번호가 이어지지않고 1234567123 되어서 자꾸 오류가 나는데 해결 방법 아는 분 없나요? 강사님처럼 미리 셀을 다수 개를 준비했을 때 오류가 나기 때문에 run 하면서 하나 씩 해나가면 오류가 발생하지 않아요, 하루 동안 애 먹다가 발견했습니다. 강사님은 대충 몇개 셀이 필요한지 알기 때문에 오류가 발생하지 않지만, 초보자는 123412 나올때 정의 되어 있지 않다고 리절트 됩니다. 저처럼 오류가 나는 분이 계실 까봐 지우지 않았습니다.
age_bin_list = np.arange(10, 80, 10) df['age_bin'] = pd.cut(df['age'], bins = age_bin_list) pivot_df = df.pivot_table( index = 'age_bin', columns = 'region', values = 'charges', aggfunc = 'median' # 각 구간에 해당하는 값을 중간값을 사용하겠다. ) pivot_df # 각각의 값들에 대해 크기를 가늠할 수 있게끔 시각화(주로 색상)하는 방법 # 2D 형식으로 준비된 데이터를 Seaborn heatmap으로 시각화 # annot 인자를 통해 각 셀의 값 표현 가능 fig, ax = plt.subplots() sns.heatmap(pivot_df, ax = ax, annot = True) 코드 똑같이 따라했는데 왜 저는 표에 수치가 다 표현이 안되는 건가요?
groupby를 사용하면 에러는 아니고 경고가 뜹니다. FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning. chatGPT: 이 경고는 Pandas의 value_counts() 메서드를 사용할 때 발생하는 것으로 보입니다. 이 경고는 현재 버전의 Pandas에서는 observed 매개변수의 기본값이 False 이지만, 향후 버전에서는 True 로 변경될 것이라는 것을 알려주는 것입니다. 즉, 향후에는 observed=False 를 명시적으로 지정하지 않으면 경고가 표시될 것입니다. 이러한 경고를 피하려면 value_counts() 를 호출할 때 observed=False 를 명시적으로 전달하면 됩니다. 예를 들어: import pandas as pd # 예제 데이터프레임 생성 df = pd.DataFrame({'Category': ['A', 'B', 'A', 'C', 'B', 'A']}) # value_counts() 호출 시 observed 매개변수 명시 counts = df['Category'].value_counts(observed=False) print(counts) 이렇게 하면 경고가 발생하지 않습니다. 하지만 향후 Pandas 버전에서는 이러한 변경이 기본 동작이 되므로 observed 매개변수를 사용하여 코드를 업데이트하는 것이 좋습니다. -> 근데 이게 무슨 말인지 모르겠습니다! 뭐... 대충 업데이트 할 건데, 오류가 생길 수 있으니 미리 대비를 해라~ 이런 거 같은데 정확히 무슨 뜻인지 모르겠습니다!
안녕하세요. 항상 좋은 강의 감사드리며 질문이 있어 글 남기게 되었습니다. 데이터 시각화 강의에 들어서며 seaborn 모듈에서 제공하는 연습 데이터셋을 불러오려고 하는데아래와 같은 오류가 발생하며 데이터셋 불러오기를 실패하였습니다. tips = sns.load_dataset('tips')
좋은 강의 잘 듣고있습니다!! 혹시 타이타닉 예제에서 Pclass 가 상관관계가 낮다고 표현하셨는데, 음의 상관관계도 절대값이 높으면 상관관계가 짙은거 아닌가하는 궁금증이 듭니다!!! survived 에 미치는 영향을 상관관계라고 하는것이라 한다면 양수 > 음수 측면이아니라 절대값으로 판단하여 SibSp 가 상관관계가 낮다고 봐야하는거 아닌가요!! 헷갈려서 질문드립니다
Group By 후 연산 적용 시 에러 나는 분들 참고하세요. numeric_only 옵션 추가해주셔야 합니다. (v.2.0 변경사항) DataFrameGroupBy.mean( numeric_only=False , engine=None , engine_kwargs=None ) numeric_only: bool, default FalseInclude only float, int, boolean columns. Changed in version 2.0.0: numeric_only no longer accepts None and defaults to False .
오래전에 강의듣다 포기하고 다시 시작하는 중입니다. 많은도움 감사합니다. 삼성전자 주식데이터와 금리와의 비교데이터를 만들다 해결이 되지 않아 질문 드립니다. 삼성전자 stock_code= fdr.DataReader(stock_code, stock_start_data, stock_end_data) stock_code.tail(1) 금리 pd.read _csv("한국은행 기준금리 및 여수신금리_23054821.csv", encoding="cp949") 이걸합치 날짜가 아닌 3439로 출력이 됩니다. 두게의 데이터를 합쳐 관계를 분석하고 싶은데 3439으로 출력이되면서 그래프가 두게로 표시가됩니다 날짜로 변경하여 그래프가 출력되도록 하고싶은데 방법을 모르겠습니다. 만들고 싶은 그래프(아래)