데이터 다운로드
데이터 조회
전체 데이터 조회
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() # 다른 시간대로 변환