Use dt.day_of_week to get the day number from a Python Pandas datetime series. But is 0 Sunday or Monday? Or not used at all? Better: Use the day_name method: Good news: It returns a series of strings!Bad news: It’s 4x slower.
Want to grab a part of datetime value in a Python Pandas data frame column? Use “dt”: day_of_week returns an integer, where 0 is Monday and 6 is Sunday.
Reading a CSV into Python Pandas, and parse_dates doesn’t recognize the format? Pass the date_format keyword arg: All strftime codes work!
Reading a CSV into Python Pandas, and want a column to be treated as datetime values? Use parse_dates: Bonus: The PyArrow engine often (not always) parses columns that look like dates.
Want to take a Python Pandas series of strings, and get datetime values? Use pd.to_datetime: Notice: It’s not a method! It’s a top-level pd function. Specify a non-standard “format” with a strftime string:
If a Python string contains an ISO-formatted date, skip strptime and use datetime.fromisoformat:
Having a tough time remembering Python strptime vs. strftime? – The “p” (strptime) is for parsing, getting a datetime from a string– The “f” (strftime) is for formatting, getting a string from a datetime For help remembering the format codes, turn to https://www.strfti.me/ !
Want to parse a Python string into a datetime? Use strptime, passing (a) the string and (b) the date format specification: Both return datetime.datetime(2026, 4, 1, 0, 0)
Want to format a Python datetime as a string? Use strftime:
Want a Python datetime with a timezone? Use the “zoneinfo” module: Then pass it to the “tzinfo” keyword arg: