[매일 10분 데이터 분석] 날짜데이터를 처리 하자! 2편 (python / date time / pandas / apply )

  Рет қаралды 6,219

데이터 스테이션

데이터 스테이션

Күн бұрын

안녕하세요. 데이터 스테이션입니다.
오늘은 데이터를 불러와 구조와 타입을 확인하고, 정렬하는 방법에 대해 알아봤습니다.
매일 10분 데이터 분석은 금주 월/화/목/토요일 진행됩니다.
Q & A 는 댓글남겨주시면 취합 후, 토요일에 답변드리겠습니다.
감사합니다.
예제 데이터 다운로드 : blog.naver.com... ==============================================
클래스101에서 Python 데이터 분석 강좌가 오픈되었습니다!
* Python 데이터 분석에 관한 자세한 강의를 더 들으시려면, 아래 클래스101 강의를 확인해보세요.
* 클래스 101 데이터 분석강의
Python활용 데이터 분석 기초 : class101.page....
Python Pandas 활용 실무 데이터 전처리 : class101.page....
Python활용 실무 통계 분석 : class101.page....
Python을 이용한 실무 머신러닝 : class101.page....
Python으로 제조/공정 데이터 분석 하기 : class101.page....
* 비즈니스 및 기업 강의 문의
0001jmp@gmail.com

Пікірлер: 53
@user-cz2kf2td2d
@user-cz2kf2td2d 3 ай бұрын
감사합니다!
@user-ms4bw4nk4p
@user-ms4bw4nk4p 2 жыл бұрын
며칠동안 고생했던 내용 명료하게 알려주셔서 도움이 많이 됩니다! 감사합니다
@data_station
@data_station 2 жыл бұрын
감사합니다 😊
@kanghokim7756
@kanghokim7756 3 жыл бұрын
감사합니다. 복받으실꺼예요
@congss7484
@congss7484 3 жыл бұрын
감사합니다 많은 도움이 되네요..
@data_station
@data_station 3 жыл бұрын
감사합니다!!
@tronghuydao1931
@tronghuydao1931 3 жыл бұрын
감사합니다
@data_station
@data_station 3 жыл бұрын
감사합니다
@user-of6jy3zk7w
@user-of6jy3zk7w 3 жыл бұрын
안녕하세요^^ 좋은 강의 감사합니다. 궁금한 부분이 있어 질문 댓글 남깁니다. 컬럼을 추가할 때 기본적으로 맨 끝에 추가가 되는 것 같은데요, 추가되는 컬럼의 위치/순서를 지정해 줄 수도 있나요?
@data_station
@data_station 3 жыл бұрын
네 안녕하세요 보통은 colname 함수나 데이터 프레임구조를 활용해 데이터를 정렬할 수 있습니다 또는 sort_index( )라는 함수를 이용해 정렬이 가능합니다
@byungjoonkwack6946
@byungjoonkwack6946 3 жыл бұрын
감사합니다 구독 잘 하고 있습니다 눈높이 교육 감사함다 질문인데 DB 쿼리로 df 값을 읽어오니 시간 데이터 값만 입력이 되어 년월일 이 1899-12-30 으로 그냥 강제 지정이 되어 있더라구요 오늘 년월일 로 바꿀려고 하는데 def 로 str 으로 교체한다음에 다음구문이 어떻게 되는지요 그리고 생산관련 DB 인데 실제 찍힌 시간이 생산시간인데 2번행-1번행, 3번행-2번행 .... 의 각 값들이 생산에 소요된 시간입니다 이 값들의 평균값을 구하고 싶은데 어떻게 해야하는지요 아주 쉽게 구할 수 있을 거 같은데 답변 주시면 감사하겠습니다
@data_station
@data_station 3 жыл бұрын
네 안녕하세요. 해당 내용은 kzfaq.info/get/bejne/eJOGo9aDmtfHnZ8.html 위의 링크 영상의 25:10 부터 시청하시면 도움을 얻으 실 수 있을 것 같아요. 그리고 두번째 내용은 아래와 같이 코딩하면 될 꺼 같습니다 ㅎㅎㅎㅎ df['생산소요시간'].mean() 항상감사드립니다.
@AI-or7ce
@AI-or7ce Жыл бұрын
좋은 강의 감사합니다. ~~ 그런데.. R의 lubridate 같은 패키지는 없나봐요? R로 분석하다가 파이썬으로 바꾸니..쉽지 않네요..
@simonyim6935
@simonyim6935 9 ай бұрын
음.. 주문일이 object로 변경되었으면, 중간에 '-'집어넣지 말고.. 그냥 pd.to_datetime하면 될 것 같은디요.
@stonebridgee
@stonebridgee 2 жыл бұрын
안녕하세요^^ 엑셀 날짜데이터가 예를들어 2021년 09월 20일 00:00:00라고 하면 마지막 말씀해주신 슬라이싱으로 하면 처리가 가능할까요??
@data_station
@data_station 2 жыл бұрын
네 맞습니다 . 또는 공백을 기준으로 Split 함수를 이용해 분할 할 수 있습니다. def func1(row): return row.split(' ')[0] df1['datetime'].apply(func1)
@stonebridgee
@stonebridgee 2 жыл бұрын
@@data_station 고맙습니다. 초보라 질문이 많습니다. 적용시켜보겠습니다.
@user-uy5gd5jt4m
@user-uy5gd5jt4m 3 жыл бұрын
선생님 만약 셀이 2020-08-23 @ 이런식으로 작성이 되어 있어 시간이 @ 이상이면 오후로 기입하고,아니면 오전으로 기입할 수도 있나요? ex) 2020-08-23 오전 @ 이런식으로 나오게 할 수 있나요?
@data_station
@data_station 3 жыл бұрын
네 가능합니다 먼저 pd.to_datetime( ) 함수를 이용해 시간형식으로 변환해 사용하거나, 정규식 apply( ) 함수에 if문 구조를 넣어 만들 수 있습니다. 데이터 정확이 써주시면 예시로 코드 올려드릴게요
@user-uy5gd5jt4m
@user-uy5gd5jt4m 3 жыл бұрын
@@data_station 감사합니다 선생님 제가 한 번 해보고 안되면 다시 말씀 드리겠습니다~ 컨설팅 및 연구실적에서 서울대학교병원 데이터 분석관련 논문 컨설팅 하셨는데 보건 관련 빅데이터 강의도 개설해주시면 좋을 것 같습니다:) 관련 업종에서 근무하고 있는데 보건관련 빅데이터 분석을 배우는게 쉽지가 않더라구요 ㅠㅠㅠ
@data_station
@data_station 3 жыл бұрын
@@user-uy5gd5jt4m 네 감사합니다 보건 및 의료데이터 관련한 분석 코스도 업로드 하도록 하겠습니다 감사합니다
@user-tp3go7nx5v
@user-tp3go7nx5v 2 жыл бұрын
안녕하세요? 구독하여 열심히 배우고 있습니다.^_^ 정규식 .apply()함수를 이용하여 20220101 dtype: int64를 2022-01-01 datetime64[ns]형태로 잘 만들었습니다. 출력도 2022-01-01형태로 잘 되는데 datetime64[ns]형태로 만든 날짜데이터를 엑셀로 다시 파일을 저장하고 엑셀파일을 열어보니 2022-01-01 00:00:00형태로 저장되어 있습니다. 날짜 데이터 뒤에 있는 00:00:00을 없애고 싶은데 방법이 있나요?
@data_station
@data_station 2 жыл бұрын
답변늦어 죄송합니다. 근래 컨설팅일정이 많아 이제 확인했네요. 작년부터 온라인 및 오프라인 교육관련 메일이 많아 회신이 늦었습니다. ㅠㅠ 네 잘 만드셨네요! 애초에 datetime이 시/분/초까지 출력이 되는 함수라, 만약 뒷부분을 제거 하고 싶다면, 아래 코드를 활용하면 됩니다. pd.to_datetime( df1['날짜'], format='%Y%m%d')
@user-tp3go7nx5v
@user-tp3go7nx5v 2 жыл бұрын
@@data_station 안녕하세요? 답변 주셔서 감사드립니다. df4['생산일자']=pd.to_datetime(df4['생산일자'],format='%Y%m%d') # format = '%Y%m%d 날짜 간소화 표현하기. format='%Y%m%d'를 추가하여 코딩을 하고 df5_7.to_excel('2022_CL_HUD_생산실적.xlsx') 이와 같이 엑셀파일로 저장을 하게 되면 엑셀파일, 생산일자에 2022-01-01 00:00:00와 같이 뒤에 시/분/초가 역시나 표시됩니다. print명령어를 사용하여 보면 2022-01-01까지만 표시되는데, 엑셀파일로 저장을 하게되면 날짜 표시뒤에 시/분/초가 표시됩니다. 이것을 없애고 싶은데 방법을 모르겠습니다. ㅠ.ㅠ
@chs164
@chs164 2 жыл бұрын
@@user-tp3go7nx5v 엑셀자체에서 날짜 표시형식을 년월일만 표시되는걸로바꾸세요
@johnjeong5044
@johnjeong5044 3 жыл бұрын
기존 배송시작일, 배송완료일 칼럼의 오전,오후의 시간도 살리면 좋을 것 같은데 함수를 어떻게 짜야할 지 모르겠네요ㅠ 조건문으로 '오전'이면 그대로 냅두고 '오후'면 시간+12를 하고 싶은데 감이 안옵니다
@data_station
@data_station 3 жыл бұрын
pd.to_datetime에서 format 함수를 이용해 처리할 수 있습니다 문의 주신내용을 따로 준비해 업로드해드릴게요
@johnjeong5044
@johnjeong5044 3 жыл бұрын
@@data_station 감사합니다! 알려주신 내용으로 구글링해서 해결해보려고 했는데 혼자서는 잘 안되네요
@sanghoonjung9263
@sanghoonjung9263 3 жыл бұрын
선생님 항상 좋은 강의 감사합니다. 질문이 있는데요, 마지막에 '주문일' 처리 하고 df2 하면 데이터가 그대로 (20181227) 인데 무엇이 문제인지 잘 모르겠습니다. def date_function2(x): result = str(x) return result[0:4] +'-' +result[4:6]+'-'+result[6:8] pd.to_datetime(df2['주문일'].apply(date_function2)) 어느 부분이 문제인지 알려주실 수 있으실까요?
@data_station
@data_station 3 жыл бұрын
제 생각엔 변환 작업 후 데이터를 새로 선언하셔야하는데 그 작업이 빠진듯 합니다 df2['date_new'] = pd.to_datetime(df2['주문일'].apply(date_function2)) 이렇게 하고 다시 확인해보시겠어요?
@sanghoonjung9263
@sanghoonjung9263 3 жыл бұрын
@@data_station def date_function2(x): result = str(x) return result[0:4] +'-' +result[4:6]+'-'+result[6:8] df2['date_new'] = pd.to_datetime(df2['주문일'].apply(date_function2)) 요렇게 했는데도 잘 안되네요 ㅠㅠ
@data_station
@data_station 3 жыл бұрын
오류메시지가 혹시 나오나요??? 안나온다면 df2 맨 끝에 새로운 변수가 생성됐을거예요 오류 있다면 메시지 남겨주세요
@sanghoonjung9263
@sanghoonjung9263 3 жыл бұрын
@@data_station 에러는 없구요, df2['date_new'] 하면 결과값은 잘 나오는데 전체 보기인 df2 하면 바뀐 형식이 아닌 기존 형식이(20181227) 계속 나오네요 ㅠㅠ
@data_station
@data_station 3 жыл бұрын
@@sanghoonjung9263 df2['date_new'] 에도 여전히 값이 원래대로 나오나요? 그럼 함수명에 오타가 없는지 확인해주시고, 그래도 안된다면, 상단 [Kernel] 메뉴에 [Restart] 버튼을 클릭 후 다시 실행 해 주세요
@user-zl3kc3pp6w
@user-zl3kc3pp6w 3 жыл бұрын
이 데이터프레임은 날짜가 있어서 다행인데... 만약에 날짜가 없어서 같은 날짜를 columns로 추가 하려면 어떻게 해야 하나요? 조건문을 사용해야 하나... index는 100줄인데 columns는 날짜고 value는"2019-01-11"인걸 100번 일일이 다 타자 치는 건 제가 생각해도 말이 안 되는 거 같아서 ㅋㅋㅋㅋㅋㅋㅋㅋ
@data_station
@data_station 3 жыл бұрын
네 Column 형태로 날짜가 나열되어 있으신거죠??
@data_station
@data_station 3 жыл бұрын
kzfaq.info/get/bejne/d52hnKlkqLOpo58.html 이 영상을 보시면, Column을 index로 변환해주는 설명이 되어 있습니다. 더 정확하게는 Pandas 에서 melt 함수를 이용해 Column에 진열된 항목을 index로 바꿔줄 수 있습니다.
@user-zl3kc3pp6w
@user-zl3kc3pp6w 3 жыл бұрын
@@data_station 아뇨 그.. 날짜가 없어서 추가해주려고 해요. 근데 100줄이나 돼서 같은 날짜를 100번 치기가.... ㅋㅋㅋㅋㅋㅋ
@user-zl3kc3pp6w
@user-zl3kc3pp6w 3 жыл бұрын
@@data_station 오 넵 파이썬 강좌도 봐야겠네요. 예전에 영어 영상만 봐서 힘들었던 기억이 ㅠㅠ ㅋㅋㅋ 잘 보겠습니닷
@data_station
@data_station 3 жыл бұрын
명확히 이해됐습니다. 새로운 index를 날짜형태로 넣고 싶으신거죠? 아래와 같이 해보셔요. index_date = pd.date_range(start='2017-07-01',freq='D', periods=100) 이렇게 원하는 날짜를 series로 생성하셔서, 원하는 Column과 아래와 같이 붙이면 됩니다. pd.Series(df1['col1'].values, index=index_date)
@user-xw8pe9jc9r
@user-xw8pe9jc9r 3 жыл бұрын
배송완료일에서 배송시작일을 빼면 자꾸 오류가 뜨는데 왜그럴까요?ㅜㅜ 똑같이 따라 썼는데 그부분만 안되네요ㅜㅜ
@user-xw8pe9jc9r
@user-xw8pe9jc9r 3 жыл бұрын
unsupported operand type(s) for -: 'str' and 'str' 이렇게 오류가 뜨네요..!
@data_station
@data_station 3 жыл бұрын
제 생각에는 배송완료일이랑 배송시작일이 datetime 형태로 바뀌지 않은듯 합니다 먼저는 df['배송시작일(clean)'] = pd.to_datetime(df1['배송시작일']) 이렇게 배송 도착일도 바꾼다음 빼주시면 될듯합니다!
Logo Matching Challenge with Alfredo Larin Family! 👍
00:36
BigSchool
Рет қаралды 21 МЛН
Developers Compete To Create The Worst UIs
11:10
노마드 코더 Nomad Coders
Рет қаралды 92 М.
파이썬 배워야 하는 이유, 할 수 있는 것 2가지
4:50
파이썬Master
Рет қаралды 31 М.
Generative AI in a Nutshell - how to survive and thrive in the age of AI
17:57
Опасность фирменной зарядки Apple
0:57
SuperCrastan
Рет қаралды 13 МЛН
Bluetooth connected successfully 💯💯
0:16
Blue ice Comedy
Рет қаралды 4,7 МЛН
Запрещенный Гаджет для Авто с aliexpress 2
0:50
Тимур Сидельников
Рет қаралды 1,9 МЛН
ПС 110/10. Кто то подключил "левак" 110000 вольт!?
0:34
Советы электрика
Рет қаралды 1,2 МЛН
САМЫЙ ОПАСНЫЙ iPHONE В МИРЕ 🤯 #iphone
1:01
ТЕХНОБЛОГ АЛИША
Рет қаралды 273 М.