일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 데이터프레임조회
- 문자열reverse
- 파이썬
- 데이터프레임 정보 조회
- pandas
- 피처벡터화
- 웹크롤링 예제
- rolling retention
- Python
- classic retention
- range retention
- requests 모듈
- 파이썬예제
- 특정값 추출
- 구구단
- R기초
- 야구게임 코드
- R실습
- 네이버웹툰크롤링
- 문자열함수
- 파이썬 야구게임
- r연습문제
- R
- 웹크롤링
- 프로그래머스 풀이
- java
- 조건인덱싱
- 타자연습파이썬
- 웹크롤링 실습
- 함컴타자연습
- Today
- Total
서비스 기획자의 성장기록
[Today I leaned] 2023.12.11.월: DateTimeIndex 본문
📌 DateTimeIndex
CNSHA_df에서 'work_start_time' 컬럼의 값과 'work_end_time' 컬럼의 값을 하나씩 가져와서 그 사이에 한시간 간격으로 timestamp를 생성하여 그것을 새로운 열의 값으로 넣고 싶었다.
그런데 TypeError이 뜨면서 실행이 안된다.
내 예상은 'work_start_time' 컬럼과 'work_end_time' 컬럼에서 값을 하나씩 가져와서 date_range로 연산한 값을 차례로 반환하는 거였는데 아닌가보다. 😅
정확한 사유는 "Cannot convert input"
예상한 오류의 원인은...🤔
① date_range() 함수로 감쌌기 때문에 레코드가 하나씩 반환되어 연산되는거 (이게 broadcasting 맞나?)가 안된다.
② date_range() 함수로 반환되는 값이 index이기 때문에 레코드 하나에 값으로 넣는 것이 안된다.
그래서 DateTimeIndex에 대해서 찾아봤다.
DateTimeIndex란 특정한 순간에 기록된 timestamp 형식의 시계열 자료를 다루기 위한 인덱스이다.
그러니까 리스트나 배열이 아닌 인덱스 값이라는 게 중요하다.
이걸 데이터 프레임의 값으로 넣기 위해서는 인덱스 -> 값 (리스트)로의 변환이 필요했다.
그래서...
① range(len(CNSHA_df))로 인덱스 값을 i로 하나씩 반환한 다음,
CNSHA_df['work_start_time']과 CNSHA_df['work_end_time]의 각 행을 차례로 불러오기 위함..
② 이걸로 pd.date_range 함수에 넣어 각 행(=선박)의 worked_time_list를 반환했다.
③ pd.date_range에서 반환되는 timestamp들을 리스트로 받아서,
④ pd.Series로 변환해서 새로운 컬럼 CNSHA_df['worked_time_list']에 넣으면 완성!!! 😆👍
'Today I leaned..' 카테고리의 다른 글
[Today I learned] 2023.12.16.토: pd.date_range().to_list(), datetime 객체에 하루 더하기, 새로운 열의 값 iloc으로 추가하기 (0) | 2023.12.16 |
---|---|
[Today I learned] 2023.12.15.금: f-string으로 변수 불러오기 (0) | 2023.12.15 |
[Today I learned] 2023.12.14.목: 데이터프레임 파일로 저장하기 (0) | 2023.12.14 |
[Today I learned] 2023.12.13.수: 모바일에서 마우스 호버 효과 (0) | 2023.12.13 |
[Today I learned] 2023.12.12.화: nltk word_tokenize() 입력값 (0) | 2023.12.13 |