Tôi có các dữ liệu pandas sau đây trong Python 2.7.
import pandas as pd
trial_num = [1,2,3,4,5]
sail_rem_time = ['11:33:11','16:29:05','09:37:56','21:43:31','17:42:06']
dfc = pd.DataFrame[zip[*[trial_num,sail_rem_time]],columns=['Temp_Reading','Time_of_Sail']]
print dfc
DataFrame trông như thế này:
Temp_Reading Time_of_Sail
1 11:33:11
2 16:29:05
3 09:37:56
4 21:43:31
5 17:42:06
DataFrame này đến từ một tệp *.csv. Tôi sử dụng gấu trúc để đọc trong tệp *.csv dưới dạng dữ liệu gấu trúc. Khi tôi sử dụng
Temp_Reading Time_of_Sail
1 11:33:11
2 16:29:05
3 09:37:56
4 21:43:31
5 17:42:06
7, nó cho tôi thấy rằng cột Temp_Reading Time_of_Sail
1 11:33:11
2 16:29:05
3 09:37:56
4 21:43:31
5 17:42:06
8 có kiểu dữ liệu Temp_Reading Time_of_Sail
1 11:33:11
2 16:29:05
3 09:37:56
4 21:43:31
5 17:42:06
9. Tôi muốn chuyển đổi cột này thành kiểu dữ liệu dfc['Time_of_Sail'] = pd.to_datetime[dfc['Time_of_Sail']]
dfc['Time_of_Sail'] = [time.time[] for time in dfc['Time_of_Sail']]
0 nhưng tôi chỉ muốn phần thời gian - tôi không muốn năm, tháng, ngày.Tôi có thể thử điều này:
dfc['Time_of_Sail'] = pd.to_datetime[dfc['Time_of_Sail']]
dfc['Time_of_Sail'] = [time.time[] for time in dfc['Time_of_Sail']]
Nhưng vấn đề là khi tôi chạy
Temp_Reading Time_of_Sail
1 11:33:11
2 16:29:05
3 09:37:56
4 21:43:31
5 17:42:06
7, nó vẫn cho thấy cột Temp_Reading Time_of_Sail
1 11:33:11
2 16:29:05
3 09:37:56
4 21:43:31
5 17:42:06
8 là Temp_Reading Time_of_Sail
1 11:33:11
2 16:29:05
3 09:37:56
4 21:43:31
5 17:42:06
9.Có cách nào để chuyển đổi cột này thành định dạng DateTime chỉ có thời gian không?
Thông tin thêm:
Để tạo dữ liệu trên và đầu ra, điều này cũng hoạt động:
import pandas as pd
trial_num = [1,2,3,4,5]
sail_rem_time = ['11:33:11','16:29:05','09:37:56','21:43:31','17:42:06']
data = [
[trial_num[0],sail_rem_time[0]],
[trial_num[1],sail_rem_time[1]],[trial_num[2],sail_rem_time[2]],
[trial_num[3],sail_rem_time[3]]
]
dfc = pd.DataFrame[data,columns=['Temp_Reading','Time_of_Sail']]
dfc['Time_of_Sail'] = pd.to_datetime[dfc['Time_of_Sail']]
dfc['Time_of_Sail'] = [time.time[] for time in dfc['Time_of_Sail']]
print dfc
print dfc.dtypes
Chúng ta có thể chuyển đổi một chuỗi thành DateTime bằng hàm
dfc['Time_of_Sail'] = pd.to_datetime[dfc['Time_of_Sail']]
dfc['Time_of_Sail'] = [time.time[] for time in dfc['Time_of_Sail']]
4. Hàm này có sẵn trong các mô -đun DateTime và Time để phân tích một chuỗi vào các đối tượng DateTime và thời gian tương ứng.Python Strptime []
Python strptime [] là một phương thức lớp trong lớp DateTime. Cú pháp của nó là:
datetime.strptime[date_string, format]
Cả hai đối số là bắt buộc và nên là chuỗi. Hàm này hoàn toàn trái ngược với hàm
dfc['Time_of_Sail'] = pd.to_datetime[dfc['Time_of_Sail']]
dfc['Time_of_Sail'] = [time.time[] for time in dfc['Time_of_Sail']]
5, chuyển đổi đối tượng DateTime thành một chuỗi. Chúng tôi cũng có sẵn chức năng tương tự trong mô -đun thời gian, trong đó cú pháp của nó là:time.strptime[time_string[, format]]
Ở đây hàm trả về đối tượng
dfc['Time_of_Sail'] = pd.to_datetime[dfc['Time_of_Sail']]
dfc['Time_of_Sail'] = [time.time[] for time in dfc['Time_of_Sail']]
6. Nếu chuỗi định dạng không được cung cấp, nó mặc định là %A %b %d %h: %m: %s %y, phù hợp với định dạng được trả về bởi hàm ctime []. Nếu chuỗi đầu vào không thể được phân tích cú pháp theo định dạng được cung cấp, thì dfc['Time_of_Sail'] = pd.to_datetime[dfc['Time_of_Sail']]
dfc['Time_of_Sail'] = [time.time[] for time in dfc['Time_of_Sail']]
7 sẽ được nâng lên. Thông điệp ngoại lệ cung cấp chi tiết rõ ràng về vấn đề phân tích cú pháp.Python Strptime [] định dạng chỉ thị
Bảng sau chứa hầu hết các chỉ thị định dạng thường được sử dụng.
%một | Ngày trong tuần là tên viết tắt địa phương. | Mặt trời, mon, xông, sat [en_us] Vì vậy, mo, triệt, sa [de_de] |
%MỘT | Ngày trong tuần là tên đầy đủ của địa phương. | Chủ nhật, Thứ Hai,, Thứ Bảy [EN_US] Sonntag, Montag, Mạnh, Samstag [de_de] |
%w | Ngày trong tuần là một số thập phân, trong đó 0 là Chủ nhật và 6 là thứ bảy. | 0, 1, 2, 3, 4, 5, 6 |
%d | Ngày trong tháng dưới dạng số thập phân số không. | 01, 02,…, 31 |
%b | Tháng là tên địa phương viết tắt tên. | Jan, tháng 2, xông, tháng 12 [en_us] tháng 1, tháng 2, |
%B | Tháng dưới dạng tên đầy đủ của địa phương. | Tháng 1, tháng 2,,, tháng 12 [en_us] Januar, Februar, xông, Dezember [de_de] |
%m | Tháng dưới dạng số thập phân bằng không. | 01, 02… 12 |
%y | Năm không có thế kỷ như một số thập phân số không. | 01, 02, 99 99 |
%Y | Năm với thế kỷ như một số thập phân. | 0001, 0002, xông, 9999 |
%H | Giờ [đồng hồ 24 giờ] là một số thập phân bằng không. | 01, 02, xông, 23 |
%TÔI | Giờ [đồng hồ 12 giờ] là một số thập phân bằng không. | 01, 02,…, 12 |
%P | Locale từ tương đương với AM hoặc PM. | AM, pm [en_us] AM, pm [de_de] |
%M | Phút như một số thập phân bằng không. | 01, 02, xông, 59 |
%S | Thứ hai là một số thập phân bằng không. | 01, 02, xông, 59 |
%S | Thứ hai là một số thập phân bằng không. | %f |
Microsecond như một số thập phân, không được dán bên trái. | 000000, 000001, xông, 999999 Không áp dụng với mô -đun thời gian. | %z |
UTC bù ở dạng ± hhmm [ss] [chuỗi trống nếu đối tượng là ngây thơ]. | [trống], +0000, -0400, +1030 | %Z |
Tên múi giờ [chuỗi trống nếu đối tượng là ngây thơ]. | [trống], UTC, IST, CST | %j |
Ngày trong năm dưới dạng số thập phân không có viền. | 001, 002, xông, 366 | %U |
Số tuần của năm [Chủ nhật là ngày đầu tiên trong tuần] là số thập phân số không có đệm. Tất cả các ngày trong một năm mới trước Chủ nhật đầu tiên được coi là vào tuần 0. | 00, 01, xông, 53 | %U |
Số tuần của năm [Chủ nhật là ngày đầu tiên trong tuần] là số thập phân số không có đệm. Tất cả các ngày trong một năm mới trước Chủ nhật đầu tiên được coi là vào tuần 0. | 00, 01, xông, 53 | %W |
Số tuần của năm [thứ Hai là ngày đầu tiên trong tuần] là một số thập phân. Tất cả các ngày trong một năm mới trước ngày thứ Hai đầu tiên được coi là vào tuần 0. | %c | Đại diện ngày và thời gian thích hợp của địa phương. |
Tue ngày 16 tháng 8 21:30:00 1988 [EN_US] DI 16 tháng 8 21:30:00 1988 [de_de] | %x | Đại diện ngày thích hợp của địa phương. |
16/08/88 [Không có] 08/16/1988 [EN_US] 16.08.1988 [DE_DE] | %X | Đại diện thời gian thích hợp của địa phương. |
21:30:00 [EN_US] 21:30:00 [DE_DE]
%%
Một nhân vật ‘%theo nghĩa đen.
from datetime import datetime
datetime_str = '09/19/18 13:55:26'
datetime_object = datetime.strptime[datetime_str, '%m/%d/%y %H:%M:%S']
print[type[datetime_object]]
print[datetime_object] # printed in default format
Output:
2018-09-19 13:55:26
Phần trăm
Python Strptime [] ví dụ
date_str = '09-19-2018'
date_object = datetime.strptime[date_str, '%m-%d-%Y'].date[]
print[type[date_object]]
print[date_object] # printed in default formatting
Output:
2018-09-19
Hãy cùng xem xét một số ví dụ cụ thể về hàm strptime [] để chuyển đổi chuỗi thành các đối tượng DateTime và thời gian.
Chuỗi thành DateTime
Temp_Reading Time_of_Sail
1 11:33:11
2 16:29:05
3 09:37:56
4 21:43:31
5 17:42:06
0Output:
Temp_Reading Time_of_Sail
1 11:33:11
2 16:29:05
3 09:37:56
4 21:43:31
5 17:42:06
1Chuỗi cho đến ngày đối tượng
Chúng ta có thể sử dụng hàm date [] cùng với hàm strptime [] để chuyển đổi chuỗi thành đối tượng ngày.
Temp_Reading Time_of_Sail
1 11:33:11
2 16:29:05
3 09:37:56
4 21:43:31
5 17:42:06
2Output:
Temp_Reading Time_of_Sail
1 11:33:11
2 16:29:05
3 09:37:56
4 21:43:31
5 17:42:06
3Chuỗi đến đối tượng thời gian
Chúng ta có thể sử dụng hàm TIME [] cùng với hàm strptime [] để chuyển đổi chuỗi thành đối tượng thời gian.
Temp_Reading Time_of_Sail
1 11:33:11
2 16:29:05
3 09:37:56
4 21:43:31
5 17:42:06
4Output:
Temp_Reading Time_of_Sail
1 11:33:11
2 16:29:05
3 09:37:56
4 21:43:31
5 17:42:06
5Ví dụ về thời gian Python Strptime []
Hãy cùng xem một số ví dụ về việc sử dụng hàm mô -đun thời gian [].
Ví dụ về ValueError của Python Strptime []
Temp_Reading Time_of_Sail
1 11:33:11
2 16:29:05
3 09:37:56
4 21:43:31
5 17:42:06
6Chúng ta có thể sử dụng khối Excet Try-Except để bắt giải phân tích ngoại lệ và thực hiện các hành động khắc phục.
Lưu ý rằng thông báo ValueError giải thích rõ ràng nguyên nhân gốc của ngoại lệ phân tích cú pháp.
Python chuyển đổi chuỗi thành DateTime với Locale