728x90
반응형
###전날에 이어서 전체파일 통합하기!
# 위한건 샘플 프로세스를 이용하여 전체파일 통합하기
### 최종 통합 데이터 프레임 이름 :df_bus_card_tot
# df_bus_card_tot=pd.DataFrame(columns= ["승차시각", "하차시각", "승객연령", "환승여부","추가운임여부","승차정류장", "하차정류장",
# "버스내체류시간(분)","기준년도","기준월","기준일","기준시간","기준시간(분)"])
df_bus_card_tot=pd.DataFrame()
file_path = "./01_data/org/trfcard(0)/trfcard_columns.xlsx"
df_bus_card_col_org = pd.read_excel(file_path, header=2, usecols="B:C")
# df_bus_card_org
df_bus_card_col_new_dict = {}
for k, v in zip(df_bus_card_col_org.iloc[:,0], df_bus_card_col_org.iloc[:,1]):
df_bus_card_col_new_dict[k]=v
start_date= datetime.today().strftime("%Y-%m-%d %H:%M:%S")
for i in range(80):
file_path = f"./01_data/org/trfcard({i})/trfcard.csv"
# print(len(df_bus_card_org))
df_bus_card_org = pd.read_csv(file_path)
df_bus_card_org.rename(columns=df_bus_card_col_new_dict, inplace=True) # 실제 값이 바뀜
df_bus_card_kor = df_bus_card_org.copy()
### 승차시각과 하차시각 데이터 타입을 문자열로 변환하기
# astype() : 데이터 형변환 함수
df_bus_card_kor= df_bus_card_kor.astype({"승차시각":"str", "하차시각":"str"})
df_bus_card = df_bus_card_kor[["승차시각", "하차시각", "승객연령", "환승여부", "추가운임여부", "승차정류장","하차정류장"]].copy()# 두개이상 할때는 한번더 []
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["버스내체류시간(분)"]=round((df_bus_card["하차시각"]- df_bus_card["승차시각"]).dt.total_seconds()/60,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["기준시간(분)"]= df_bus_card["승차시각"].dt.minute
df_bus_card_tot = pd.concat([df_bus_card_tot, df_bus_card], axis=0, ignore_index=True)
print(f'{i+1}개 완료 / {len(df_bus_card_org)}/ {len(df_bus_card_tot)}')
print('완료')
end_date= datetime.today().strftime("%Y-%m-%d %H:%M:%S")
print(f'전체 실행시간 - >{start_date}~{end_date}')
1개 완료 / 16185/ 16185
2개 완료 / 16614/ 32799
3개 완료 / 12556/ 45355
4개 완료 / 15494/ 60849
5개 완료 / 12988/ 73837
6개 완료 / 15808/ 89645
7개 완료 / 17524/ 107169
8개 완료 / 9494/ 116663
9개 완료 / 17064/ 133727
10개 완료 / 16337/ 150064
11개 완료 / 16375/ 166439
12개 완료 / 16921/ 183360
13개 완료 / 9822/ 193182
14개 완료 / 17984/ 211166
15개 완료 / 17247/ 228413
16개 완료 / 9125/ 237538
17개 완료 / 7781/ 245319
18개 완료 / 16046/ 261365
19개 완료 / 16202/ 277567
20개 완료 / 8547/ 286114
21개 완료 / 15842/ 301956
22개 완료 / 14919/ 316875
23개 완료 / 11371/ 328246
24개 완료 / 8327/ 336573
25개 완료 / 15597/ 352170
26개 완료 / 12830/ 365000
27개 완료 / 16782/ 381782
28개 완료 / 8394/ 390176
29개 완료 / 14192/ 404368
30개 완료 / 14277/ 418645
31개 완료 / 5657/ 424302
32개 완료 / 5938/ 430240
33개 완료 / 5347/ 435587
34개 완료 / 5422/ 441009
35개 완료 / 2402/ 443411
36개 완료 / 6545/ 449956
37개 완료 / 5830/ 455786
38개 완료 / 5978/ 461764
39개 완료 / 4114/ 465878
40개 완료 / 6881/ 472759
41개 완료 / 6732/ 479491
42개 완료 / 6828/ 486319
43개 완료 / 2897/ 489216
44개 완료 / 3875/ 493091
45개 완료 / 1242/ 494333
46개 완료 / 5148/ 499481
47개 완료 / 9369/ 508850
48개 완료 / 9527/ 518377
49개 완료 / 16788/ 535165
50개 완료 / 13559/ 548724
51개 완료 / 16592/ 565316
52개 완료 / 12336/ 577652
53개 완료 / 17324/ 594976
54개 완료 / 17415/ 612391
55개 완료 / 5927/ 618318
56개 완료 / 5472/ 623790
57개 완료 / 14486/ 638276
58개 완료 / 15892/ 654168
59개 완료 / 11810/ 665978
60개 완료 / 15507/ 681485
61개 완료 / 14382/ 695867
62개 완료 / 15715/ 711582
63개 완료 / 15678/ 727260
64개 완료 / 15817/ 743077
65개 완료 / 12839/ 755916
66개 완료 / 14410/ 770326
67개 완료 / 11973/ 782299
68개 완료 / 9084/ 791383
69개 완료 / 2900/ 794283
70개 완료 / 4477/ 798760
71개 완료 / 5491/ 804251
72개 완료 / 3758/ 808009
73개 완료 / 5697/ 813706
74개 완료 / 6152/ 819858
75개 완료 / 2827/ 822685
76개 완료 / 5345/ 828030
77개 완료 / 6968/ 834998
78개 완료 / 131/ 835129
79개 완료 / 4983/ 840112
80개 완료 / 2496/ 842608
완료
# 통합 데이터 프레임 저장시키기
# 저장파일 위치 :all 폴더
# 저장 파일 명: 데이터 프레임 변수명과 동일하게
# 확장자 csv
### 저장할 경로 지정
save_path = "./01_data/all/df_bus_card_tot.csv"
## index= False : 인덱스 번호 값은 저장하지 않기 (기본값 Ture)
df_bus_card_tot.to_csv(save_path,index = False) ## 제일 첫번째 칼럼에 ,가 들어가서 인덱스를 없애준다.
728x90
반응형
'파이썬' 카테고리의 다른 글
영화 데이터 수집 웹 크롤링 (2) | 2023.12.04 |
---|---|
버스교통카드 데이터 전처리 시각화해봅시다 (2) | 2023.11.30 |
데이터 전처리 연습 (2) | 2023.11.29 |
판다스를 활용한 데이터 전처리 (1) | 2023.11.28 |
정규표현식(Regrlar_Expression)_프로그램 (0) | 2023.11.16 |