Hướng dẫn convert string to time python pandas - chuyển đổi chuỗi thành thời gian pandas python

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
0

Lư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
1

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:

  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
2

Chạ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
0

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).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
4

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:

  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
5

Hã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.

Ví dụ của chúng tôi, mã Python hoàn chỉnh để chuyển đổi chuỗi thành DateTime sẽ là:

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
8

Lư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
0

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:

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']]
0

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:

dfc['Time_of_Sail'] = pd.to_datetime(dfc['Time_of_Sail'])
dfc['Time_of_Sail'] = [time.time() for time in dfc['Time_of_Sail']]
1

Chạ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']]
2

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).

ngày Trạng thái
MởMở
ĐóngMở
Đó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']]
3

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:

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

Lư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

Làm thế nào để bạn chuyển đổi chuỗi thành thời gian trong Python?

Chúng ta có thể chuyển đổi một chuỗi thành DateTime bằng hàm strptime (). 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.using strptime() function. This function is available in datetime and time modules to parse a string to datetime and time objects respectively.

Làm cách nào để chuyển đổi một chuỗi thành Datetime DataFrame trong Python?

Các bước để chuyển đổi chuỗi thành DateTime trong Pandas DataFrame..
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.....
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ước 3: Chuyển đổi chuỗi thành DateTime trong DataFrame ..

Làm thế nào để bạn phân tích thời gian trong gấu trúc?

Thời gian phân tích để phân tích thời gian, ví dụ:"%d/%m/%y".Lưu ý rằng "%F" sẽ phân tích tất cả các cách cho đến nano giây.Xem tài liệu Strftime để biết thêm thông tin về các lựa chọn."%d/%m/%Y" . Note that "%f" will parse all the way up to nanoseconds. See strftime documentation for more information on choices.

Làm thế nào để bạn chuyển đổi một đối tượng theo thời gian trong Python?

Phương thức pandas to_dateTime () giúp chuyển đổi thời gian ngày chuỗi thành đối tượng thời gian ngày Python.Tham số: ARG: Một số nguyên, chuỗi, float, danh sách hoặc đối tượng dict để chuyển đổi đối tượng thời gian cho đến ngày.Dayfirst: Giá trị boolean, vị trí ngày đầu tiên nếu đúng. helps to convert string Date time into Python Date time object. Parameters: arg: An integer, string, float, list or dict object to convert in to Date time object. dayfirst: Boolean value, places day first if True.