Cách chuyển đổi kiểu dữ liệu đối tượng thành ngày tháng trong Python

Trong hướng dẫn Pandas này, chúng ta sẽ tìm hiểu cách chuyển đổi một cột chứa ngày ở định dạng chuỗi thành ngày giờ. Đầu tiên, chúng ta sẽ xem xét việc chuyển đổi các đối tượng [i. e. , chuỗi] thành datetime bằng phương thức

data = {'Salary':[1000, 2222, 3321, 4414, 5151], 'Name': ['Pete', 'Steve', 'Brian', 'Ryan', 'Jim'], 'Share':[29.88, 19.05, 8.17, 7.3, 6.15], 'Date':['11/24/2020', '12/21/2019', '10/14/2018', '12/13/2017', '01/08/2017'], 'Date2': [20120902, 20130413, 20140921, 20140321, 20140321]} print[data]

Code language: Python [python]
0. Một điều thú vị khi làm việc với to_datetime[] là chúng ta có thể làm việc với tham số format. Đó là, chúng ta cũng sẽ xem xét làm thế nào để có được định dạng chính xác khi chuyển đổi. Sau đó, chúng tôi sẽ tiếp tục và thực hiện tác vụ chuyển đổi này bằng phương pháp

import pandas as pd df = pd.DataFrame[data] df.head[]

Code language: Python [python]
0

  • Tiết kiệm

Hai phương pháp để chuyển đổi cột thành datetime

Trong hai phần cuối, chúng tôi sẽ nhập dữ liệu từ đĩa. Đầu tiên, chúng ta sẽ xem cách làm việc với datetime khi đọc. tệp csv. Thứ hai, chúng tôi sẽ nhập dữ liệu từ tệp Excel. Bây giờ, tùy thuộc vào cách chúng tôi muốn khung dữ liệu của mình, chúng tôi có thể phân tích cú pháp ngày trong tệp dữ liệu của mình dưới dạng chỉ mục hoặc chỉ định [các] cột. Hơn nữa, trong cả hai ví dụ, chúng ta sẽ làm việc với đối số

import pandas as pd df = pd.DataFrame[data] df.head[]

Code language: Python [python]
3.  

Dữ liệu mẫu

Đầu tiên, trước khi chuyển sang hai ví dụ, chúng ta sẽ tạo một khung dữ liệu Pandas từ một từ điển. Ở đây, chúng ta sẽ tạo một từ điển

data = {'Salary':[1000, 2222, 3321, 4414, 5151], 'Name': ['Pete', 'Steve', 'Brian', 'Ryan', 'Jim'], 'Share':[29.88, 19.05, 8.17, 7.3, 6.15], 'Date':['11/24/2020', '12/21/2019', '10/14/2018', '12/13/2017', '01/08/2017'], 'Date2': [20120902, 20130413, 20140921, 20140321, 20140321]} print[data]

Code language: Python [python]

  • Tiết kiệm

Lưu ý rằng bây giờ chúng ta có một từ điển với các chuỗi chứa datetime [i. e. , các giá trị được tìm thấy nếu sử dụng phím 'Date']. Tạo một khung dữ liệu là bước tiếp theo, sau đó. Đầu tiên, chúng tôi nhập pandas và sau đó chúng tôi sử dụng pd. Lớp DataFrame với từ điển làm đầu vào

import pandas as pd df = pd.DataFrame[data] df.head[]

Code language: Python [python]

  • Tiết kiệm

Các cột đối tượng [chuỗi] và số nguyên để chuyển đổi thành datetime

Trong hình trên, chúng ta có thể thấy rằng chúng ta có bốn cột và cột cuối cùng chứa các chuỗi ngày giờ mà chúng ta muốn chuyển đổi. Tuy nhiên, trước tiên, chúng ta có thể xem xét các loại dữ liệu của khung dữ liệu. Điều này có thể được thực hiện bằng cách sử dụng phương thức info[]

df.info[]

Code language: CSS [css]

  • Tiết kiệm

Rõ ràng ở đầu ra, các kiểu dữ liệu của cột 'Ngày' là đối tượng [i. e. , một chuỗi] và ‘Date2’ là số nguyên. Lưu ý, bạn cũng có thể chuyển đổi một mảng NumPy thành khung dữ liệu Pandas, nếu cần. Trong phần tiếp theo, chúng tôi sẽ sử dụng phương pháp

data = {'Salary':[1000, 2222, 3321, 4414, 5151], 'Name': ['Pete', 'Steve', 'Brian', 'Ryan', 'Jim'], 'Share':[29.88, 19.05, 8.17, 7.3, 6.15], 'Date':['11/24/2020', '12/21/2019', '10/14/2018', '12/13/2017', '01/08/2017'], 'Date2': [20120902, 20130413, 20140921, 20140321, 20140321]} print[data]

Code language: Python [python]
0 để chuyển đổi cả hai loại dữ liệu này thành ngày giờ

Pandas Chuyển đổi cột bằng phương thức to_datetime[]

Trong phần này, chúng ta sẽ làm việc với chuỗi chuyển đổi to_datetime[] thành 1] và 2] chuyển đổi số nguyên. Cả hai đến datetime, tất nhiên

1 Chuyển đổi cột Đối tượng [chuỗi]

Bây giờ, đây là cách chuyển đổi một cột thành ngày giờ

# convert column to datetime pandas df['Date'] = pd.to_datetime[df['Date']]

Code language: Python [python]

Trong đoạn mã ở trên, chúng tôi đã sử dụng khung dữ liệu của mình [i. e. , df] và dấu ngoặc. Hơn nữa, trong ngoặc, chúng tôi đặt một chuỗi có cột mà chúng tôi muốn chuyển đổi. Lưu ý, nếu bạn muốn đây là một cột mới, chỉ cần thay đổi 'Ngày' thành i. e. 'Ngày giờ'. Điều đó sẽ thêm một cột mới vào khung dữ liệu. Ở phía bên phải của dấu bằng [“=”], chúng tôi đã sử dụng phương pháp

data = {'Salary':[1000, 2222, 3321, 4414, 5151], 'Name': ['Pete', 'Steve', 'Brian', 'Ryan', 'Jim'], 'Share':[29.88, 19.05, 8.17, 7.3, 6.15], 'Date':['11/24/2020', '12/21/2019', '10/14/2018', '12/13/2017', '01/08/2017'], 'Date2': [20120902, 20130413, 20140921, 20140321, 20140321]} print[data]

Code language: Python [python]
0. Vì chúng tôi không làm việc với bất kỳ định dạng nào, chúng tôi chỉ sử dụng lại cột ở đây mà chúng tôi muốn chuyển đổi. Đây là cột được chuyển đổi thành datetime

  • Tiết kiệm

2 Chuyển đổi một cột số nguyên

Đây là cách chuyển đổi số nguyên thành ngày giờ trong khung dữ liệu

# pandas convert column with integers to date time df['Date2'] = pd.to_datetime[df['Date2']]

Code language: Python [python]

Như chúng ta có thể thấy trong kết quả ở trên, loại cột 'Date2' đã được chuyển đổi thành datetime

  • Tiết kiệm

Lưu ý, nếu ngày của bạn được định dạng khác và trong các ví dụ này, bạn cũng có thể sử dụng tham số định dạng. Để biết thêm thông tin về phương pháp

data = {'Salary':[1000, 2222, 3321, 4414, 5151], 'Name': ['Pete', 'Steve', 'Brian', 'Ryan', 'Jim'], 'Share':[29.88, 19.05, 8.17, 7.3, 6.15], 'Date':['11/24/2020', '12/21/2019', '10/14/2018', '12/13/2017', '01/08/2017'], 'Date2': [20120902, 20130413, 20140921, 20140321, 20140321]} print[data]

Code language: Python [python]
0, hãy xem tài liệu. Bây giờ bạn đã thay đổi kiểu dữ liệu trong khung dữ liệu, ví dụ: bạn có thể sử dụng phương thức Pandas value_count[] để đếm số lần xuất hiện trong một cột. Trong phần tiếp theo, chúng tôi sẽ thực hiện tác vụ chuyển đổi tương tự nhưng sử dụng phương thức

import pandas as pd df = pd.DataFrame[data] df.head[]

Code language: Python [python]
0.  

Pandas Chuyển đổi cột bằng phương thức astype[]

Trong phần này, chúng ta sẽ sử dụng phương pháp

import pandas as pd df = pd.DataFrame[data] df.head[]

Code language: Python [python]
0. Đây là cách chuyển đổi một cột, chứa chuỗi, thành datetime bằng phương thức

import pandas as pd df = pd.DataFrame[data] df.head[]

Code language: Python [python]
0

import pandas as pd df = pd.DataFrame[data] df.head[]

Code language: Python [python]
0

Lưu ý cách chúng tôi đặt datetime[ns] làm đối số duy nhất. Điều này sẽ tạo ra đầu ra sau, tương tự như những gì chúng ta đã thấy trước đó

Lưu ý cuối cùng, không thể thay đổi loại từ số nguyên thành ngày giờ với cùng mã ở trên. Trong hai phần tiếp theo, chúng ta sẽ chuyển đổi sang datetime khi đọc dữ liệu từ đĩa

Chuyển đổi cột thành datetime khi đọc tệp CSV

Đây là cách thay đổi một cột thành datetime trong khi sử dụng phương thức read_csv của Pandas

import pandas as pd df = pd.DataFrame[data] df.head[]

Code language: Python [python]
1

  • Tiết kiệm

Như có thể thấy trong mã ví dụ ở trên, chúng tôi đã sử dụng tham số

import pandas as pd df = pd.DataFrame[data] df.head[]

Code language: Python [python]
3 và đặt số cột lưu trữ ngày của chúng tôi. Như thường lệ, khi làm việc với Python, các chỉ mục bắt đầu từ 0. Đáng chú ý, ở đây, là chúng tôi cũng đã sử dụng tham số

df.info[]

Code language: CSS [css]
1 và đặt tham số này ở cột đầu tiên [0] trong tệp dữ liệu. Mặt khác, nếu chúng ta có ngày tháng trong cột đầu tiên [i. e. , bên trong. csv], chúng ta có thể đặt ngày làm chỉ mục

import pandas as pd df = pd.DataFrame[data] df.head[]

Code language: Python [python]
4

  • Tiết kiệm

Cuối cùng, nếu bạn muốn cột ngày được lập chỉ mục, điều này có thể được thực hiện sau khi đọc. tệp csv cũng vậy. Tại đây, bạn sẽ chỉ tạo chỉ mục cột trong khung dữ liệu Pandas bằng phương thức

df.info[]

Code language: CSS [css]
2

Chuyển đổi cột thành ngày giờ khi đọc tệp Excel

Dưới đây là cách thay đổi cột thành ngày giờ khi nhập dữ liệu bằng Pandas read_excel

import pandas as pd df = pd.DataFrame[data] df.head[]

Code language: Python [python]
6

Như bạn có thể thấy, trong đoạn mã trên, chúng tôi đã sử dụng cùng một tham số như khi đọc tệp CSV [i. e. , parse_date]. Lưu ý, ở đây chúng tôi đặt cột ngày, trong tệp Excel, dưới dạng chỉ mục. Nếu bạn muốn đây là một cột, hãy thay đổi

df.info[]

Code language: CSS [css]
3 thành

df.info[]

Code language: CSS [css]
4

Bây giờ bạn đã chuyển đổi ngày của mình thành đối tượng datetime, bạn có thể bắt đầu làm việc với các phương thức liên quan đến ngày khác, chẳng hạn như TimeDelta. Ví dụ: bây giờ bạn có thể tính toán sự khác biệt giữa hai ngày. Hơn nữa, bạn cũng có thể vẽ biểu đồ dữ liệu của mình theo biểu đồ chuỗi thời gian bằng cách sử dụng e. g. Biểu đồ dòng Seaborn

Lưu ý cuối cùng, đối với cả hai phương pháp trên, là nếu bạn có nhiều cột cần chuyển đổi thành ngày giờ, bạn có thể thêm từng chỉ mục của các cột này vào danh sách. Đây là một số mã ví dụ

Sự kết luận

Trong bài đăng này, bạn đã chuyển đổi chuỗi và số nguyên [trong cột khung dữ liệu] thành ngày giờ. Đầu tiên, bạn đã học cách sử dụng phương pháp

data = {'Salary':[1000, 2222, 3321, 4414, 5151], 'Name': ['Pete', 'Steve', 'Brian', 'Ryan', 'Jim'], 'Share':[29.88, 19.05, 8.17, 7.3, 6.15], 'Date':['11/24/2020', '12/21/2019', '10/14/2018', '12/13/2017', '01/08/2017'], 'Date2': [20120902, 20130413, 20140921, 20140321, 20140321]} print[data]

Code language: Python [python]
0. Thứ hai, bạn đã học cách sử dụng phương pháp

import pandas as pd df = pd.DataFrame[data] df.head[]

Code language: Python [python]
0. Hãy nhớ rằng, không thể thay đổi kiểu dữ liệu từ số nguyên sang ngày giờ nếu bạn sử dụng phương pháp sau. Cuối cùng, bạn cũng đã học cách chỉ định cột nào thuộc loại ngày giờ khi đọc tệp CSV và Excel

Làm cách nào để chuyển đổi đối tượng dtype thành ngày trong Python?

Cột ngày thực sự là một chuỗi, mà—hãy nhớ—được ký hiệu là một loại đối tượng trong Python. Bạn có thể chuyển đổi nó thành kiểu ngày giờ với. to_datetime[] trong pandas .

Làm cách nào để chuyển đổi đối tượng ngày thành DateTime trong Python?

Sử dụng hàm datetime[] . năm, my_date. tháng, my_date. day] vào hàm tạo này để chuyển đối tượng ngày thành đối tượng ngày giờ.

Làm cách nào để chuyển đổi đối tượng thành dữ liệu trong Python?

Vì vậy, tất cả các đối tượng dựng sẵn có thể được chuyển đổi thành chuỗi bằng cách sử dụng các phương thức str[] và repr[]. .
ví dụ 1. Sử dụng phương thức str[]
đầu ra
ví dụ 2. Sử dụng repr[] để chuyển đối tượng thành chuỗi

Làm cách nào để chuyển đổi chuỗi thành đối tượng ngày trong Python?

Phương pháp 1. Chương trình chuyển đổi chuỗi thành DateTime bằng datetime. hàm strptime[]. strptime[] có sẵn trong các mô-đun Ngày giờ và thời gian và được sử dụng để Chuyển đổi Ngày-Giờ

Chủ Đề