การนำเข้าข้อมูลด้วย pandas อย่างมีประสิทธิภาพ
Amany Mahfouz
Instructor
parse_dates (ไม่ใช่ dtype!)parse_dates รับค่าได้หลายรูปแบบ:



# List columns of dates to parse date_cols = ["Part1StartTime", "Part1EndTime"]# Load file, parsing standard datetime columns survey_df = pd.read_excel("fcc_survey.xlsx", parse_dates=date_cols)
# Check data types of timestamp columns
print(survey_df[["Part1StartTime",
"Part1EndTime",
"Part2StartDate",
"Part2StartTime",
"Part2EndTime"]].dtypes)
Part1StartTime datetime64[ns]
Part1EndTime datetime64[ns]
Part2StartDate object
Part2StartTime object
Part2EndTime object
dtype: object
# List columns of dates to parse date_cols = ["Part1StartTime", "Part1EndTime",[["Part2StartDate", "Part2StartTime"]]]# Load file, parsing standard and split datetime columns survey_df = pd.read_excel("fcc_survey.xlsx", parse_dates=date_cols)print(survey_df.head(3))
Part2StartDate_Part2StartTime Age ... SchoolMajor StudentDebtOwe
0 2016-03-29 21:24:57 28.0 ... NaN 20000
1 2016-03-29 21:27:14 22.0 ... NaN NaN
2 2016-03-29 21:27:13 19.0 ... NaN NaN
[3 rows x 98 columns]
# List columns of dates to parse date_cols = {"Part1Start": "Part1StartTime", "Part1End": "Part1EndTime", "Part2Start": ["Part2StartDate", "Part2StartTime"]}# Load file, parsing standard and split datetime columns survey_df = pd.read_excel("fcc_survey.xlsx", parse_dates=date_cols) print(survey_df.Part2Start.head(3))
0 2016-03-29 21:24:57
1 2016-03-29 21:27:14
2 2016-03-29 21:27:13
Name: Part2Start, dtype: datetime64[ns]
parse_dates ไม่รองรับรูปแบบ datetime ที่ไม่เป็นมาตรฐานpd.to_datetime() หลังจากโหลดข้อมูล หาก parse_dates ไม่สามารถใช้งานได้to_datetime():format: string ที่แทนรูปแบบของ datetime| โค้ด | ความหมาย | ตัวอย่าง |
|---|---|---|
%Y |
ปี (4 หลัก) | 1999 |
%m |
เดือน (เติมศูนย์นำหน้า) | 03 |
%d |
วัน (เติมศูนย์นำหน้า) | 01 |
%H |
ชั่วโมง (นาฬิกา 24 ชั่วโมง) | 21 |
%M |
นาที (เติมศูนย์นำหน้า) | 09 |
%S |
วินาที (เติมศูนย์นำหน้า) | 05 |

format_string = "%m%d%Y %H:%M:%S"survey_df["Part2EndTime"] = pd.to_datetime(survey_df["Part2EndTime"], format=format_string)
print(survey_df.Part2EndTime.head())
0 2016-03-29 21:27:25
1 2016-03-29 21:29:10
2 2016-03-29 21:28:21
3 2016-03-29 21:30:51
4 2016-03-29 21:31:54
Name: Part2EndTime, dtype: datetime64[ns]
การนำเข้าข้อมูลด้วย pandas อย่างมีประสิทธิภาพ