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
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ó cho tôi thấy rằng cột 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 có 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']]
8. 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']]
9 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
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ó vẫn cho thấy cột 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 là dfc['Time_of_Sail'] = pd.to_datetime[dfc['Time_of_Sail']]
dfc['Time_of_Sail'] = [time.time[] for time in dfc['Time_of_Sail']]
8.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
Bạn có thể sử dụng mẫu này để chuyển đổi chuỗi thành DateTime trong Pandas DataFrame:
df['DataFrame Column'] = pd.to_datetime[df['DataFrame Column'], format=specify your format]
Lưu ý rằng các chuỗi phải khớp với định dạng được chỉ định. Sau đó, bạn sẽ thấy một số kịch bản cho các định dạng khác nhau. that the strings must match the format specified. Later, you’ll see several scenarios for different formats.
Bước 1: Thu thập dữ liệu sẽ được chuyển đổi
Để bắt đầu, hãy thu thập dữ liệu mà bạn muốn chuyển đổi sang DateTime.
Ví dụ, đây là một bộ dữ liệu đơn giản về khoảng 3 ngày khác nhau [với định dạng YYYYMMDD], khi một cửa hàng có thể được mở hoặc đóng:yyyymmdd], when a store might be opened or closed:
ngày | Trạng thái |
20210305 | Mở |
20210316 | Mở |
20210328 | Đóng |
Bước 2: Tạo DataFrame
Tiếp theo, tạo một khung dữ liệu để ghi dữ liệu trên trong Python. Bạn có thể chụp các ngày làm chuỗi bằng cách đặt các trích dẫn xung quanh các giá trị trong cột ‘ngày:
import pandas as pd values = {'dates': ['20210305','20210316','20210328'], 'status': ['Opened','Opened','Closed'] } df = pd.DataFrame[values] print [df] print [df.dtypes]
Chạy mã trong Python và bạn sẽ nhận được DataFrame này:
dates status
0 20210305 Opened
1 20210316 Opened
2 20210328 Closed
dates object
status object
dtype: object
Lưu ý rằng ‘ngày tháng thực sự được lưu trữ dưới dạng chuỗi [được biểu thị bằng đối tượng].
Bước 3: Chuyển đổi chuỗi thành DateTime trong DataFrame
Sau đó, bạn có thể sử dụng mẫu bên dưới để chuyển đổi chuỗi thành DateTime trong Pandas DataFrame:
df['DataFrame Column'] = pd.to_datetime[df['DataFrame Column'], format=specify your format]
Hãy nhớ lại rằng ví dụ của chúng tôi, định dạng ngày là yyyymmdd.yyyymmdd.
Định dạng ngày này có thể được biểu diễn là:
format='%Y%m%d'
Lưu ý rằng dữ liệu chuỗi [yyyyMMDD] phải khớp với định dạng được chỉ định [%y%m%d]. Bạn có thể tham khảo nguồn sau cho các định dạng khác nhau mà bạn có thể áp dụng.
Ví dụ của chúng tôi, mã Python hoàn chỉnh để chuyển đổi chuỗi thành DateTime sẽ là:
import pandas as pd values = {'dates': ['20210305','20210316','20210328'], 'status': ['Opened','Opened','Closed'] } df = pd.DataFrame[values] df['dates'] = pd.to_datetime[df['dates'], format='%Y%m%d'] print [df] print [df.dtypes]
Bạn có thể thấy rằng kiểu dữ liệu cho cột ‘ngày tháng hiện đang là DateTime: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
0Lưu ý rằng khi áp dụng pd.to_datetime, & nbsp; định dạng mặc định là yyyymmdd. Vì vậy, trong ví dụ cụ thể ở trên, bạn có thể xóa định dạng =,%y%m%d, khỏi mã. Tuy nhiên, trong các kịch bản khác, như bạn sẽ thấy bên dưới, bạn phải chỉ định định dạng chính xác để khớp với dữ liệu chuỗi.
Chuyển đổi các định dạng bổ sung
Hãy nói rằng ngày tháng hiện đang được định dạng là ddmmyyy:ddmmyyyy:
ngày | Trạng thái |
05032021 | Mở |
16032021 | Mở |
28032021 | Đóng |
Bước 2: Tạo DataFrame
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
1Tiếp theo, tạo một khung dữ liệu để ghi dữ liệu trên trong Python. Bạn có thể chụp các ngày làm chuỗi bằng cách đặt các trích dẫn xung quanh các giá trị trong cột ‘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
2Chạy mã trong Python và bạn sẽ nhận được DataFrame 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
0Lưu ý rằng ‘ngày tháng thực sự được lưu trữ dưới dạng chuỗi [được biểu thị bằng đối tượng].ddmmmyyyy format [e.g., 05Mar2021]?
Bước 3: Chuyển đổi chuỗi thành DateTime trong DataFrame
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
4Sau đó, bạn có thể sử dụng mẫu bên dưới để chuyển đổi chuỗi thành DateTime trong Pandas DataFrame:
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
5Hãy nhớ lại rằng ví dụ của chúng tôi, định dạng ngày là yyyymmdd.
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
0Định dạng ngày này có thể được biểu diễn là:
Lưu ý rằng dữ liệu chuỗi [yyyyMMDD] phải khớp với định dạng được chỉ định [%y%m%d]. Bạn có thể tham khảo nguồn sau cho các định dạng khác nhau mà bạn có thể áp dụng.
Bạn có thể thấy rằng kiểu dữ liệu cho cột ‘ngày tháng hiện đang là 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
8Lưu ý rằng khi áp dụng pd.to_datetime, & nbsp; định dạng mặc định là yyyymmdd. Vì vậy, trong ví dụ cụ thể ở trên, bạn có thể xóa định dạng =,%y%m%d, khỏi mã. Tuy nhiên, trong các kịch bản khác, như bạn sẽ thấy bên dưới, bạn phải chỉ định định dạng chính xác để khớp với dữ liệu chuỗi.
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
0Chuyển đổi các định dạng bổ sung
Hãy nói rằng ngày tháng hiện đang được định dạng là ddmmyyy:
ngày | Trạng thái |
20210305093000 | Mở |
20210316093000 | Mở |
20210328200000 | Đóng |
Bước 2: Tạo DataFrame
dfc['Time_of_Sail'] = pd.to_datetime[dfc['Time_of_Sail']]
dfc['Time_of_Sail'] = [time.time[] for time in dfc['Time_of_Sail']]
0Tiếp theo, tạo một khung dữ liệu để ghi dữ liệu trên trong Python. Bạn có thể chụp các ngày làm chuỗi bằng cách đặt các trích dẫn xung quanh các giá trị trong cột ‘ngà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']]
1Chạy mã trong Python và bạn sẽ nhận được DataFrame 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']]
2Lưu ý rằng ‘ngày tháng thực sự được lưu trữ dưới dạng chuỗi [được biểu thị bằng đối tượng].
ngày | Trạng thái |
Mở | Mở |
Đóng | Mở |
Đóng | Đóng |
Bước 2: Tạo DataFrame
dfc['Time_of_Sail'] = pd.to_datetime[dfc['Time_of_Sail']]
dfc['Time_of_Sail'] = [time.time[] for time in dfc['Time_of_Sail']]
3Bạn có thể thấy rằng kiểu dữ liệu cho cột ‘ngày tháng hiện đang là DateTime:
dfc['Time_of_Sail'] = pd.to_datetime[dfc['Time_of_Sail']]
dfc['Time_of_Sail'] = [time.time[] for time in dfc['Time_of_Sail']]
4Lưu ý rằng khi áp dụng pd.to_datetime, & nbsp; định dạng mặc định là yyyymmdd. Vì vậy, trong ví dụ cụ thể ở trên, bạn có thể xóa định dạng =,%y%m%d, khỏi mã. Tuy nhiên, trong các kịch bản khác, như bạn sẽ thấy bên dưới, bạn phải chỉ định định dạng chính xác để khớp với dữ liệu chuỗi.
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