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 pd7. 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]