선생님 안녕하세요! 5장 회귀 실습 2:캐글경연 주택가격 예측-Advanced Regression Techniques - 01 을 듣다가 타겟 값인 Price를 로그 변환하여 정규 분포 형태로 변환하고, 피처들 중 숫자형 컬럼의 Null 값 데이터 처리 부분 코드를 다음과 같이 썼습니다. 그런데 결과가 사진과 같이 float64가 포함된 형태로 나왔습니다. 제가 어떤 부분에서 잘못한 건지, 그리고 어떻게 해야 선생님과 같은 결과가 나올 수 있나요?ㅎㅎ # SalePrice 로그 변환 original_SalePrice = house_df['SalePrice'] house_df['SalePrice'] = np.log1p(house_df['SalePrice']) # Null이 너무 많은 컬럼들과 불필요한 컬럼 삭제 house_df.drop(['Id', 'PoolQC', 'MiscFeature', 'Alley', 'Fence', 'FireplaceQu'], axis=1, inplace=True) # Drop하지 않는 숫자형 Null 컬럼들은 평균 값으로 대체 num_columns = house_df.dtypes[house_df.dtypes !='object'].index.to_list() house_df[num_columns].fillna(house_df[num_columns].mean(), inplace=True) # Null 값이 있는 피처명과 타입을 추출 null_column_count = house_df.isnull().sum()[house_df.isnull().sum() > 0] print('## Null 피처의 Type :\n', house_df.dtypes[null_column_count.index])
python-telegram-bot 20 버전부터는 비동기 프로그래밍이 적용되어 강의와는 다른 코드가 필요합니다. https://github.com/python-telegram-bot/python-telegram-bot/wiki/Introduction-to-the-API 위 깃허브 python-telegram-bot 공식 위키 페이지로 가시면 필수적이고 간단한 용례들을 보실 수 있습니다.
이렇게 말씀하시면 이해하기가 어렵습니다. 새로 올려주신 script_v2 그대로도 몇번이나 돌려봤습니다. 강의에서 이렇게 말해주신 파트가 script_v2에서는 이부분 입니다. 일단 이렇게 그대로 따라하면 df_map_join = left_join(df, df_map_id, by = c("ISO_A3" = "iso")) Error in `sf_column %in% names(g)`: ! Join columns in `x` must be present in the data. ✖ Problem with `ISO_A3`. Run `rlang::last_trace()` to see where the error occurred. 이런 에러가 떠서 "ISO_A3"를 -> "iso_a3"로 바꿔주었구요. 이건뭐 상관없고, 불필요한 변수를 미리 제거하라고 하셨는데 >head(df_map_join) Simple feature collection with 6 features and 169 fields Geometry type: MULTIPOLYGON Dimension: XY Bounding box: xmin: -180 ymin: -18.28799 xmax: 180 ymax: 83.23324 Geodetic CRS: WGS 84 featurecla scalerank labelrank sovereignt sov_a3 adm0_dif 1 Admin-0 country 1 6 Fiji FJI 0 2 Admin-0 country 1 3 United Republic of Tanzania TZA 0 3 Admin-0 country 1 7 Western Sahara SAH 0 4 Admin-0 country 1 2 Canada CAN 0 5 Admin-0 country 1 2 United States of America US1 1 level type tlc admin adm0_a3 geou_dif 1 2 Sovereign country 1 Fiji FJI 0 2 2 Sovereign country 1 United Republic of Tanzania TZA 0 3 2 Indeterminate 1 Western Sahara SAH 0 4 2 Sovereign country 1 Canada CAN 0 5 2 Country 1 United States of America USA 0 geounit gu_a3 su_dif subunit su_a3 brk_diff 1 Fiji FJI 0 Fiji FJI 0 2 Tanzania TZA 0 Tanzania TZA 0 3 Western Sahara SAH 0 Western Sahara SAH 1 4 Canada CAN 0 Canada CAN 0 5 United States of America USA 0 United States USA 0 name name_long brk_a3 brk_name brk_group abbrev 1 Fiji Fiji FJI Fiji <NA> Fiji 2 Tanzania Tanzania TZA Tanzania <NA> Tanz. 3 W. Sahara Western Sahara B28 W. Sahara <NA> W. Sah. 4 Canada Canada CAN Canada <NA> Can. 5 United States of America United States USA United States <NA> U.S.A. postal formal_en formal_fr name_ciawf note_adm0 1 FJ Republic of Fiji <NA> Fiji <NA> 2 TZ United Republic of Tanzania <NA> Tanzania <NA> 3 WS Sahrawi Arab Democratic Republic <NA> Western Sahara <NA> 4 CA Canada <NA> Canada <NA> 5 US United States of America <NA> United States <NA> note_brk name_sort name_alt mapcolor7 1 <NA> Fiji <NA> 5 2 <NA> Tanzania <NA> 3 3 Self admin.; Claimed by Morocco Western Sahara <NA> 4 4 <NA> Canada <NA> 6 5 <NA> United States of America <NA> 4 mapcolor8 mapcolor9 mapcolor13 pop_est pop_rank pop_year gdp_md gdp_year 1 1 2 2 889953 11 2019 5496 2019 2 6 2 2 58005463 16 2019 63177 2019 3 7 4 4 603253 11 2017 907 2007 4 6 2 2 37589262 15 2019 1736425 2019 5 5 1 1 328239523 17 2019 21433226 2019 economy income_grp fips_10 iso_a2 iso_a2_eh iso_a3 1 6. Developing region 4. Lower middle income FJ FJ FJ FJI 2 7. Least developed region 5. Low income TZ TZ TZ TZA 3 7. Least developed region 5. Low income WI EH EH ESH 4 1. Developed region: G7 1. High income: OECD CA CA CA CAN 5 1. Developed region: G7 1. High income: OECD US US US USA iso_a3_eh iso_n3 iso_n3_eh un_a3 wb_a2 wb_a3 woe_id woe_id_eh 1 FJI 242 242 242 FJ FJI 23424813 23424813 2 TZA 834 834 834 TZ TZA 23424973 23424973 3 ESH 732 732 732 -99 -99 23424990 23424990 4 CAN 124 124 124 CA CAN 23424775 23424775 5 USA 840 840 840 US USA 23424977 23424977 woe_note adm0_iso adm0_diff adm0_tlc adm0_a3_us adm0_a3_fr 1 Exact WOE match as country FJI <NA> FJI FJI FJI 2 Exact WOE match as country TZA <NA> TZA TZA TZA 3 Exact WOE match as country B28 <NA> B28 SAH MAR 4 Exact WOE match as country CAN <NA> CAN CAN CAN 5 Exact WOE match as country USA <NA> USA USA USA adm0_a3_ru adm0_a3_es adm0_a3_cn adm0_a3_tw adm0_a3_in adm0_a3_np adm0_a3_pk 1 FJI FJI FJI FJI FJI FJI FJI 2 TZA TZA TZA TZA TZA TZA TZA 3 SAH SAH SAH SAH MAR SAH SAH 4 CAN CAN CAN CAN CAN CAN CAN 5 USA USA USA USA USA USA USA adm0_a3_de adm0_a3_gb adm0_a3_br adm0_a3_il adm0_a3_ps adm0_a3_sa adm0_a3_eg 1 FJI FJI FJI FJI FJI FJI FJI 2 TZA TZA TZA TZA TZA TZA TZA 3 SAH SAH SAH SAH MAR MAR SAH 4 CAN CAN CAN CAN CAN CAN CAN 5 USA USA USA USA USA USA USA adm0_a3_ma adm0_a3_pt adm0_a3_ar adm0_a3_jp adm0_a3_ko adm0_a3_vn adm0_a3_tr 1 FJI FJI FJI FJI FJI FJI FJI 2 TZA TZA TZA TZA TZA TZA TZA 3 MAR SAH SAH SAH SAH SAH MAR 이걸 어떻게 제거하나요? 올려주신 script_v2 파일을 다시 재확인 및 수정부탁드립니다. 그리고 위,위에 출력코드 보시면 아시겠지만 바로 위 사진처럼 long lat order hole piece id group 그 어떤것도 찾을수없습니다. 지도가 며칠동안 이것만 붙잡고있는데 진도가 못나가서 너무 답답합니다.ㅏ script_v2랑 올려놓으셨던 강의랑 비교하셔서 수정부탁드립니다. ratio 범례도 , 강의보면서 코드계속 돌려봤습니다. 1 2 3 으로 나옵니다. 강의처럼 0.9 0.8 이렇게 나오질 않습니다.
해당 강의에서 작성하는 코드를 그대로 실행하면 되지 않습니다. 현재 iframe 태그가 자바스크립트를 통해 실행되기 때문에 페이지가 로드된 후에도 자바스크립트가 실행될 시간이 필요합니다. 강의처럼 iframe의 주소만 따와서 실행시키는 것이 아닌 전체 주소를 가져와 iframe 태그로 전환시켜주고 자바스크립트 실행까지 기다려 주는 방식으로 진행하셔야 합니다. https://velog.io/@os_js/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%9B%B9-%ED%81%AC%EB%A1%A4%EB%A7%81%EC%9D%B4%EC%9A%A9-%ED%85%94%EB%A0%88%EA%B7%B8%EB%9E%A8-%EC%B1%97%EB%B4%87 저도 강의중 안됐던 내용이 있었기에 그에 대한 내용을 블로그에 올려두었습니다. 강의 진행대로 따라하다가 안되는 부분만 정리하여 올렸기 때문에 강의내용과 비교하시면서 보셔야 될 듯 합니다.
본강의영상에는 마지막에 df_map_join_vac라는 값이 console을 보면 깔끔하고 가독성좋게 데이터시각화되어 표기되는것을 확인할수있습니다. 이번에 새로 올려주신 scrips_v2 파일을 보면서 공부를 하고 있는데요. 세계지도 시각화를 만들기위해 모든과정을 거쳐 마지막에 넣는 값 df_map_join_vac가 무슨 값을 가지고있는지 알아보기가 매우 힘듭니다.
새로 올려주신 파일로 백신데이터 공부중입니다. df_agg = aggregate(data = df[, -5], total ~ ., FUN = "sum") ## 이코드가 무슨 의미인가요? 제가 이해한 내용은 다음과같습니다 "df데이터 중 5번째 항목은 제외한 데이터를 가지고, ( . <-이 전체를 의미하는건가요?그렇다치면) 전체를 기준으로total 변수를 sum(합)합한다." '뭘 어떻게 합한거지(sum)?? 해당코드를 출력해보면 데이터출력에 차이가 생기기는 하는데, 이해하기 어렵습니다.
https://data.seoul.go.kr/dataList/OA-20470/F/1/datasetView.do 서울시 홈페이지에 가도 없는것같습니다. 너무 아쉽습니다 설령 찾더라도 이전과 내용이 너무 많이 달라서 적용이 안되는게 너무 많아서 어렵더라구요. 백신데이터 접종 시각화 강의 마저도 @이 안되길래 r버젼을 다운그레이드하고, rstudio를 재설치해도 안되서 답답하더라구요.. 이번 공공데이터 강의도 현재버젼과 맞지 않은 부분이 있을까봐 걱정됩니다.
Jupyter command jupyter-contrib not found. 지금 이 오류가 떠서 설치가 안되고 있는데요. 어떻게 해결해야 할까요?? 제가 봤을땐, pip install jupyter_contrib_nbextensions 이 부분은 실행이 되는데 jupyter contrib nbextension 이 부분에서 오류가 생기는 것 같습니다. ㅠㅠ
클래스 정의하고 호출하면 42번 줄에 player1에 해당하는 height와 weight의 값이 둘 다 나와야 하는데 저는 한가지 값만 출력이 됩니다. weight를 지우고 height 값만 쓰면 height값이 출력되고 둘다 쓰면 height값은 안나오고 weight값만 출력이 되는데 왜 이런 걸까요?
안녕하세요~~ 루비네 코딩 입니다 ^^ 최근 앱을 런칭할 때 다음과 같은 오류가 발생하고 있습니다. ModuleNotFoundError: No module named 'altair.vegalite.v4' 이런경우, 다음과 같이 altair 패키지의 버전을 바꾸어 설치해 주세요 ^^ 감사합니다~ pip uninstall altair pip install altair==4.2.2
안녕하세요 연구실에서 자체적으로 실험기기와 컴퓨터랑 통신을 진행하는 중인데, 하나가 해결이 안 되어서 너무 답답해서 고수님들께 자문을 구하려고 합니다. Rs232 rtu 모드를 지원한다고 한 OS-20 overhead stirrer과 통신을 진행 중 입니다. 이 친구의 통신 규격과 방식은 아래 그림 3개와 같습니다. 이중 stirrer control 부분을 제가 참조해서 저 command를 hex 방식으로 입력하였는데 도무지 안되는 겁니다. 그런데 웃긴게 이 회사에서 지원하는 공식 통신프로그램을 사용하면 작동이 잘 되더군요. Instruction overview에서 나온 규칙은 다음과 같습니다. Command 구조는 Prefix Instruction_code Data_frame Checksum로 되어 있고 입력의 prefix는 0xfe로 시작하며 responce는 0xfd로 시작합니다. 모든 바이트 사이에는 50ms delay가 존재해야하며 Dataframe은 큰 수 자리부터 전송합니다. ex) 1000rpm을 data frame에 입력하려고 할 시 Hex값이 03E8이니까 앞에 두 자리를 0x03에 해당하고 뒤에 두 자리를 0xE8로 해당시킵니다. Null은 0x00입니다. Checksum 방식은 0xfe,0xfd인 prefix를 제외하고 나머지를 전부 더한 값으로 0xnn 이런식으로 표현됩니다. 신기하게도 16진수의 2자리를 넘어가도 뒤에 2 자리만 붙이면 된다고 하더군요. ex) 0xfe 0xb1 0x03 0xe8 0x00 checksum인데 0xfe를 제외하고 다 더하면 019c이지만 0x9c만 입력하면 되는 형식입니다. 그래서 이 규칙대로 코드를 짜서 통신을 해 보았는데, 아무리 해도 안되어서 너무 답답합니다. 심지어 제가 잘못했는지 확인하려고 시리얼 통신 sniffer을 사용하여서 공식 프로그램에서는 어떻게 통신이 되나 뜯어보았습니다. 결과는 아래 사진과 같습니다. 제가 python으로 작성한 코드는 아래와 같습니다. import serial import time ser = serial.Serial( port='COM7', # Update with your actual port baudrate=9600, parity=serial.PARITY_NONE, # No parity stopbits=serial.STOPBITS_ONE, # 1 stop bit bytesize=serial.EIGHTBITS # 8 data bits ) def send_hex_string(hex_string): # Convert the hex string to bytes byte_data = bytes.fromhex(hex_string) # Send the bytes over the serial port ser.write(byte_data) def send_hex_string_with_delay(hex_string, delay_ms=50): for i in range(0, len(hex_string), 2): # Extract each pair of characters and convert to bytes hex_pair = hex_string[i:i + 2] byte_data = bytes.fromhex(hex_pair) # Send the bytes over the serial port ser.write(byte_data) # Wait for the specified delay time.sleep(delay_ms / 1000.0) command = 'feb103e8009c' send_hex_string_with_delay(command) ser.close() 또한 파이썬에서의 결과를 시리얼 전송으로 보면 다음과 같습니다. 입력은 제대로 되는데 기기에는 반응이 제대로 나오지 않네요... 제가 잘못하고 빠뜨린 점이 있을까요? 읽어주셔서 정말 감사드립니다.