Ví dụ: tập dữ liệu sau chứa 3 ngày khác nhau [với định dạng là yyyymmdd], khi một cửa hàng có thể được mở hoặc đóng cửa
NgàyTrạng thái20210305Đã mở20210316Đã mở20210328Đã đóngBước 2. Tạo khung dữ liệu
Tiếp theo, tạo DataFrame để thu thập tập dữ liệu trên bằng Python
import pandas as pd values = {'dates': [20210305,20210316,20210328], 'status': ['Opened','Opened','Closed'] } df = pd.DataFrame[values, columns = ['dates','status']] print [df] print [df.dtypes]
Như bạn có thể thấy, kiểu dữ liệu là số nguyên đối với các giá trị trong cột 'ngày'
dates status
0 20210305 Opened
1 20210316 Opened
2 20210328 Closed
dates int64
status object
dtype: object
Bước 3. Chuyển đổi số nguyên thành datetime trong Pandas DataFrame
Bây giờ bạn có thể sử dụng mẫu bên dưới để chuyển đổi số nguyên thành ngày giờ trong Pandas DataFrame
df['DataFrame Column'] = pd.to_datetime[df['DataFrame Column'], format=specify your format]
Nhớ lại rằng đối với ví dụ của chúng tôi, định dạng ngày là yyyymmdd
Trong trường hợp đó, định dạng ngày tháng có thể được biểu diễn như sau
format='%Y%m%d'
Như đã chỉ ra trước đó, dữ liệu số nguyên [yyyymmdd] phải khớp với định dạng đã chỉ định [%Y%m%d]. Bạn có thể tham khảo nguồn sau đây để biết 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ã hoàn chỉnh để chuyển đổi số nguyên thành ngày giờ sẽ là
import pandas as pd values = {'dates': [20210305,20210316,20210328], 'status': ['Opened','Opened','Closed'] } df = pd.DataFrame[values, columns = ['dates','status']] df['dates'] = pd.to_datetime[df['dates'], format='%Y%m%d'] print [df] print [df.dtypes]
Chạy mã bằng Python và bạn sẽ thấy rằng kiểu dữ liệu cho 'ngày' hiện là datetime
dates status
0 2021-03-05 Opened
1 2021-03-16 Opened
2 2021-03-28 Closed
dates datetime64[ns]
status object
dtype: object
Chuyển đổi định dạng bổ sung
Giả sử rằng các ngày hiện được định dạng là yymmdd
NgàyTrạng thái210305Đã mở210316Đã mở210328Đã đóngTrong trường hợp đó, định dạng ngày giờ sẽ chứa chữ 'y' ở dạng chữ thường
format='%y%m%d'
Vì vậy, mã Python hoàn chỉnh sẽ trông như sau
import pandas as pd values = {'dates': [210305,210316,210328], 'status': ['Opened','Opened','Closed'] } df = pd.DataFrame[values, columns = ['dates','status']] df['dates'] = pd.to_datetime[df['dates'], format='%y%m%d'] print [df] print [df.dtypes]
Như trước đây, các số nguyên sẽ được chuyển đổi thành datetime
dates status
0 2021-03-05 Opened
1 2021-03-16 Opened
2 2021-03-28 Closed
dates datetime64[ns]
status object
dtype: object
Bây giờ, giả sử rằng các số nguyên của bạn chứa cả ngày và giờ
NgàyTình trạng20210305093000Đã mở20210316093000Đã mở20210328200000Đã đóngTrong trường hợp đó, định dạng mà bạn nên chỉ định là
import pandas as pd values = {'dates': [20210305,20210316,20210328], 'status': ['Opened','Opened','Closed'] } df = pd.DataFrame[values, columns = ['dates','status']] print [df] print [df.dtypes]0
Vì vậy, mã Python đầy đủ sẽ là
import pandas as pd values = {'dates': [20210305,20210316,20210328], 'status': ['Opened','Opened','Closed'] } df = pd.DataFrame[values, columns = ['dates','status']] print [df] print [df.dtypes]1
Bây giờ bạn sẽ nhận được định dạng ngày giờ
import pandas as pd values = {'dates': [20210305,20210316,20210328], 'status': ['Opened','Opened','Closed'] } df = pd.DataFrame[values, columns = ['dates','status']] print [df] print [df.dtypes]2
Bạn cũng có thể muốn xem hướng dẫn sau để biết các bước chuyển đổi chuỗi thành ngày giờ trong Pandas DataFrame
Pandas Chuyển đổi loại cột DataFrame từ số nguyên sang định dạng datetime
dates status
0 20210305 Opened
1 20210316 Opened
2 20210328 Closed
dates int64
status object
dtype: object
20 – Bạn có thể chuyển đổi loại cột DataFrame của pandas từ số nguyên sang định dạng datetime bằng cách sử dụng pandas. to_datetime[] và DataFrame. phương thức astype[]. Phương thức astype[] được sử dụng để truyền từ kiểu này sang kiểu khácTrong bài viết về DataFrame của gấu trúc này, tôi sẽ giải thích cách chuyển đổi ngày & giờ giữ số nguyên thành định dạng ngày giờ bằng các phương pháp đã đề cập ở trên và cũng sử dụng
dates status
0 20210305 Opened
1 20210316 Opened
2 20210328 Closed
dates int64
status object
dtype: object
21 với hàm dates status
0 20210305 Opened
1 20210316 Opened
2 20210328 Closed
dates int64
status object
dtype: object
221. Ví dụ nhanh về chuyển đổi số nguyên sang định dạng ngày giờ
Nếu bạn đang vội, dưới đây là một số ví dụ nhanh về cách chuyển đổi loại cột số nguyên thành ngày giờ trong DataFrame của gấu trúc
dates status
0 20210305 Opened
1 20210316 Opened
2 20210328 Closed
dates int64
status object
dtype: object
5Bây giờ, hãy tạo một DataFrame với một vài hàng và cột, thực hiện các ví dụ này và xác thực kết quả. Khung dữ liệu của chúng tôi chứa các tên cột
dates status
0 20210305 Opened
1 20210316 Opened
2 20210328 Closed
dates int64
status object
dtype: object
23, dates status
0 20210305 Opened
1 20210316 Opened
2 20210328 Closed
dates int64
status object
dtype: object
24 và dates status
0 20210305 Opened
1 20210316 Opened
2 20210328 Closed
dates int64
status object
dtype: object
25 dates status
0 20210305 Opened
1 20210316 Opened
2 20210328 Closed
dates int64
status object
dtype: object
2Sản lượng dưới sản lượng
df['DataFrame Column'] = pd.to_datetime[df['DataFrame Column'], format=specify your format]0
Như bạn thấy ở trên, bạn có thể lấy kiểu dữ liệu của tất cả các cột bằng cách sử dụng
dates status
0 20210305 Opened
1 20210316 Opened
2 20210328 Closed
dates int64
status object
dtype: object
26. Bạn cũng có thể nhận được điều tương tự bằng cách sử dụng dates status
0 20210305 Opened
1 20210316 Opened
2 20210328 Closed
dates int64
status object
dtype: object
272. Chuyển đổi số nguyên thành định dạng ngày giờ
Trong ví dụ dưới đây, lưu ý rằng kiểu dữ liệu cho cột
dates status
0 20210305 Opened
1 20210316 Opened
2 20210328 Closed
dates int64
status object
dtype: object
28 là Số nguyên. Để chuyển đổi nó thành Datetime, tôi sử dụng pandas. to_datetime[]. Phương pháp này lấy định dạng parm để chỉ định định dạng của ngày bạn muốn chuyển đổi từ. Ở đây, cột InsertedDate có ngày ở định dạng dates status
0 20210305 Opened
1 20210316 Opened
2 20210328 Closed
dates int64
status object
dtype: object
29,df['DataFrame Column'] = pd.to_datetime[df['DataFrame Column'], format=specify your format]5
Sản lượng dưới sản lượng
df['DataFrame Column'] = pd.to_datetime[df['DataFrame Column'], format=specify your format]6
3. Sử dụng sê-ri. áp dụng [] với Hàm Lambda
Bạn cũng có thể sử dụng hàm
df['DataFrame Column'] = pd.to_datetime[df['DataFrame Column'], format=specify your format]00 và
dates status
0 20210305 Opened
1 20210316 Opened
2 20210328 Closed
dates int64
status object
dtype: object
21 với lambda để chuyển đổi số nguyên thành ngày giờdf['DataFrame Column'] = pd.to_datetime[df['DataFrame Column'], format=specify your format]9
Mang lại sản lượng tương tự như trên
4. Sử dụng Khung dữ liệu. astype[] Phương thức chuyển đổi số nguyên thành định dạng ngày giờ
Phương thức ________ 202 cũng được sử dụng để chuyển đổi định dạng số nguyên sang định dạng ngày giờ. dtype của cột ngày giờ này sẽ là ________ 120
format='%Y%m%d'2
Mang lại sản lượng tương tự như trên
5. sử dụng gấu trúc. to_datetime[] để chuyển đổi số nguyên sang định dạng ngày và giờ
Giả sử rằng số nguyên của bạn chứa cả ngày và giờ. Trong trường hợp đó, định dạng phải được chỉ định là
df['DataFrame Column'] = pd.to_datetime[df['DataFrame Column'], format=specify your format]04
format='%Y%m%d'4
Sản lượng dưới sản lượng
format='%Y%m%d'5
6. Hoàn thành ví dụ để chuyển đổi số nguyên sang định dạng ngày giờ
format='%Y%m%d'6
Phần kết luận
Trong bài viết này, bạn đã học cách chuyển đổi định dạng số nguyên sang định dạng ngày giờ bằng cách sử dụng hàm
df['DataFrame Column'] = pd.to_datetime[df['DataFrame Column'], format=specify your format]00,
df['DataFrame Column'] = pd.to_datetime[df['DataFrame Column'], format=specify your format]02 và
dates status
0 20210305 Opened
1 20210316 Opened
2 20210328 Closed
dates int64
status object
dtype: object
21 với hàm dates status
0 20210305 Opened
1 20210316 Opened
2 20210328 Closed
dates int64
status object
dtype: object
22 với các ví dụ