Kết hợp ngày và giờ python pandas

Câu trả lời được chấp nhận hoạt động cho các cột thuộc kiểu dữ liệu

import pandas as pd
7. cho đầy đủ. Tôi bắt gặp câu hỏi này khi tìm kiếm cách thực hiện việc này khi các cột thuộc kiểu dữ liệu. ngày và giờ

df.apply[lambda r : pd.datetime.combine[r['date_column_name'],r['time_column_name']],1]

~ Đã trả lời vào 2016-09-13 16. 24. 48

Trong bài đăng này, chúng ta sẽ xem cách kết hợp các cột chứa năm, tháng và ngày thành một cột duy nhất có kiểu ngày giờ. Chúng ta có thể kết hợp nhiều cột thành một cột ngày theo nhiều cách. Đầu tiên, chúng ta sẽ xem làm thế nào chúng ta có thể kết hợp cột năm, tháng và ngày thành một cột kiểu datetime, trong khi đọc dữ liệu bằng hàm read_csv[] của Pandas. Tiếp theo, chúng ta sẽ kết hợp các cột năm, tháng và ngày bằng hàm áp dụng [] của Pandas

Đầu tiên, chúng ta hãy tải Pandas

import pandas as pd

Chúng tôi sẽ sử dụng dữ liệu mẫu chỉ chứa ba cột, năm, tháng và ngày. Chúng tôi sẽ tải dữ liệu trực tiếp từ trang github

path2data = "//raw.githubusercontent.com/cmdlinetips/data/master/combine_year_month_day_into_date_pandas.csv"
df = pd.read_csv[path2data]

Dữ liệu của chúng tôi trông như thế này

df.head[]

year	month	day
0	2012	1	1
1	2012	1	2
2	2012	1	3
3	2012	1	4
4	2012	1	5

Kết hợp các cột Năm, Tháng và Ngày thành cột Ngày giờ trong khi đọc tệp

Một trong những cách để kết hợp 3 cột tương ứng với Năm, Tháng và Ngày trong khung dữ liệu là phân tích chúng dưới dạng biến ngày trong khi tải tệp dưới dạng khung dữ liệu Pandas

Trong khi tải tệp dưới dạng khung dữ liệu của Pandas bằng hàm read_csv[], chúng tôi có thể chỉ định tên cột sẽ được kết hợp thành cột ngày giờ. Chúng ta sẽ sử dụng đối số “parse_dates” cho hàm read_csv[] và cung cấp các cột năm, tháng và ngày làm giá trị cho từ điển với biến ngày mới làm khóa

df = pd.read_csv[path2data,
                 parse_dates= {"date" : ["year","month","day"]}]

Giờ đây, read_csv[] của Pandas kết hợp các cột đó thành một cột ngày duy nhất. Và chúng ta có thể kiểm tra kiểu dữ liệu của biến mới bằng cách sử dụng chức năng thông tin [] của Pandas

df.info[]

Chúng ta có thể thấy rằng nó là một đối tượng kiểu “datetime[ns]”

RangeIndex: 100 entries, 0 to 99
Data columns [total 1 columns]:
 #   Column  Non-Null Count  Dtype         
---  ------  --------------  -----         
 0   date    100 non-null    datetime64[ns]
dtypes: datetime64[ns][1] 

Chủ Đề