loading

새소식

Data

[Data] 데이터 분석 활용 연습 - 1 (데이터 조회/컬럼명 변경/데이터형식 변경/날짜함수활용)

  • -
728x90
반응형

 

 

 

 

데이터 다운로드

 

 

1. 국가 교통 데이터 오픈마켓 접속

 

 

국가교통 데이터 오픈마켓

이전 콘텐츠로 이동 다음 콘텐츠로 이동 -->

www.bigdata-transportation.kr

 

2. 로그인 후 '포항시 BIS 교통카드 사용내역' 검색 후 데이터 다운로드

 

 

 

데이터 조회

 

 

전체 데이터 조회

df_bus_card_org = pd.read_csv('data/포항버스교통데이터_다운_원본/trfcard(0)/trfcard.csv')
df_bus_card_org

 

 

 

 

 

결측치 정보, 기본 통계값 분석 조회

 

df_bus_card_org.info()
df_bus_card_org.describe()

 

 

 

 

컬럼명 변경

 

 

 

1. Dictionary 형태로 기존 컬럼명, 변경할 컬럼명 저장

 

for i in range(13):
    df_bus_card_col_new_dict[df_bus_card_col_org.loc[i, "컬럼명 (영문)"]] = df_bus_card_col_org.loc[i, "컬럼명 (한글)"]
    
print(df_bus_card_col_new_dict)

 

 

 

 

2. 컬럼명 변경

 

df_bus_card_org.rename(columns=df_bus_card_col_new_dict, inplace=True)
df_bus_card_org[0:0]

 

 

 

inplace = True

1. 원본 데이터프레임을 변경하여 수정하므로 메모리 사용을 줄일 수 있다.

2. False 일 경우 새로운 데이터프레임을 생성하여 해당 데이터프레임을 반환한다 => 메모리를 사용함

 

 

 

 

데이터 형식 변경

 

 

1. int 형을 object 형으로 변환

 

df_bus_card_org.info()

 

 

 

df_bus_card_kor = df_bus_card_org.copy()
df_bus_card_kor = df_bus_card_kor.astype({"승차시각": "str", "하차시각":"str"})
df_bus_card_kor.info()

 

 

 

 

 

2.  object 형을 datetime 형으로 변환

 

df_bus_card["승차시각"] = pd.to_datetime(df_bus_card_kor.loc[:, "승차시각"])
df_bus_card["하차시각"] = pd.to_datetime(df_bus_card_kor.loc[:, "하차시각"])
df_bus_card.info()

 

 

 

 

 

Datetime 날짜 함수 활용

 

 

 

버스 내 체류시간 구하기

 

df_bus_card["버스내체류시간(분)"] = round((df_bus_card["하차시각"] - df_bus_card["승차시각"]).dt.total_seconds()/60,2)
df_bus_card

 

 

 

2. 승차시각 기준 년도/월/일/시간 칼럼 추가

 

df_bus_card["기준년도"] = df_bus_card["승차시각"].dt.year
df_bus_card["기준월"] = df_bus_card["승차시각"].dt.month
df_bus_card["기준일"] = df_bus_card["승차시각"].dt.day
df_bus_card["기준시간"] = df_bus_card["승차시각"].dt.hour

df_bus_card

 

 

dt 연산자 

1.  Pandas DataFrame에서 시계열 데이터에 대한 다양한 연산을 수행하는 데 사용된다.

2. datetime 타입의 열에서 날짜 및 시간 속성에 쉽게 액세스할 수 있게 해주고, 주로 시계열 데이터 분석 및 조작에 활용된다.

 

속성 접근
dt.year 	# 연도 반환
dt.month 	# 월 반환
dt.day 		# 일 반환
dt.hour 	# 시간 반환
dt.minute	# 분 반환
dt.second 	# 초 반환
dt.microsecond # 마이크로 초 반환
dt.nanosecond # 나노 초 반환
dt.week 	# 주 반환
dt.weekday 	# 요일 반환(월:0, 일:6)

 

 

날짜 간격 계산
dt.days		# 두 날짜 간의 일수 반환
dt.seconds 	# 두 날짜 간의 초 수 반환
dt.total_seconds() # 두 날짜 간의 총 초 수 반환

 

 

범주화 및 라벨링
dt.to_period() 		# 날짜를 기간 객체로 변환
dt.strftime() 		# 날짜를 문자열로 변환 (기호 사용 가능)

 

 

시간대 변환
dt.tz_localize() 	# 로컬 시간대로 변환
dt.tz_convert() 	# 다른 시간대로 변환

 

 

 

 

 

 


 

 

 

 

 

 

 

728x90
반응형
Contents

📝 포스팅 주소를 복사했습니다 📝

이 글이 도움이 되었다면 공감 부탁드립니다👍