Hướng dẫn how do i join month and year in python? - làm cách nào để tham gia tháng và năm trong python?
Tôi có một khung dữ liệu bao gồm các cột riêng biệt cho năm, tháng và ngày. Tôi đã cố gắng kết hợp các cột riêng lẻ này thành một ngày bằng cách sử dụng: Show
Chỉ để có được lỗi sau: "Để lắp ráp các ánh xạ yêu cầu ít nhất [năm, tháng, ngày] được chỉ định: [ngày, tháng, năm] bị thiếu". Không chắc điều này có nghĩa là gì .... Tôi đã cung cấp các cột có liên quan. Khi kiểm tra các kiểu dữ liệu, tôi thấy rằng các cột năm, tháng và ngày là Int64. Điều đó sẽ gây ra một vấn đề? Cảm ơn, Chet Cảm ơn tất cả các bạn đã đăng. Theo đề xuất, tôi đang đăng tập dữ liệu mẫu trước: ________ 14 Nguồn dữ liệu là: https: //www.quandl.com/data/eia/seo_ngprpus_m Tôi đã nhập dữ liệu như sau: 1. Nhập Quandl (Cài đặt Conda được sử dụng đầu tiên) 2. Đã sử dụng mã Python của Quandl: data = Quandl.get ("EIA/STEO_NGPRPUS_M", authToken = "token", "2005-01-01", "2005-12-31") 4. Chỉ cần lưu ý, dữ liệu gốc chỉ đi kèm với cột giá trị, và DateTime dưới dạng chỉ mục. Tôi đã trích xuất và tạo các cột mm, yy và dd (tháng, năm và dd là một vectơ cột được đặt thành 1) tất cả những gì tôi đang cố gắng làm là tạo một cột khác được gọi là "đầu tiên của tháng" - vì vậy mỗi ngày Mỗi tháng, cột sẽ chỉ hiển thị "mm/yy/1". Tôi sẽ thử tất cả các đề xuất dưới đây trong thời gian ngắn và liên hệ lại với các bạn. Cảm ơn!! Xem xét các dữ liệu sau: import pandas as pd5 import pandas as pd6 import pandas as pd7 Dung dịchĐể kết hợp các cột import pandas as pd8, import pandas as pd9 và path2data = "https://raw.githubusercontent.com/cmdlinetips/data/master/combine_year_month_day_into_date_pandas.csv" df = pd.read_csv(path2data)0 để tạo thành một cột khác: import pandas as pd5 path2data = "https://raw.githubusercontent.com/cmdlinetips/data/master/combine_year_month_day_into_date_pandas.csv" df = pd.read_csv(path2data)2 import pandas as pd7 Ở đây, cột path2data = "https://raw.githubusercontent.com/cmdlinetips/data/master/combine_year_month_day_into_date_pandas.csv" df = pd.read_csv(path2data)4 thuộc loại path2data = "https://raw.githubusercontent.com/cmdlinetips/data/master/combine_year_month_day_into_date_pandas.csv" df = pd.read_csv(path2data)5. Giải trìnhTrước tiên chúng tôi kết hợp các cột import pandas as pd8, import pandas as pd9 và path2data = "https://raw.githubusercontent.com/cmdlinetips/data/master/combine_year_month_day_into_date_pandas.csv" df = pd.read_csv(path2data)0 thông qua sự kết hợp chuỗi đơn giản: import pandas as pd5 df.head() year month day 0 2012 1 1 1 2012 1 2 2 2012 1 3 3 2012 1 4 4 2012 1 50 import pandas as pd7 Ở đây, cột kết hợp ( df.head() year month day 0 2012 1 1 1 2012 1 2 2 2012 1 3 3 2012 1 4 4 2012 1 52) thuộc loại df.head() year month day 0 2012 1 1 1 2012 1 2 2 2012 1 3 3 2012 1 4 4 2012 1 53. Chúng ta có thể chuyển đổi kiểu dữ liệu của nó thành path2data = "https://raw.githubusercontent.com/cmdlinetips/data/master/combine_year_month_day_into_date_pandas.csv" df = pd.read_csv(path2data)5 bằng cách sử dụng df.head() year month day 0 2012 1 1 1 2012 1 2 2 2012 1 3 3 2012 1 4 4 2012 1 55: import pandas as pd5 df.head() year month day 0 2012 1 1 1 2012 1 2 2 2012 1 3 3 2012 1 4 4 2012 1 57 import pandas as pd7 Bạn đang ở đây: Trang chủ/ Python/ Cách kết hợp các cột năm, tháng và ngày để một ngày ở PandasHome / Python / How to Combine Year, Month, and Day Columns to single date in Pandas Trong bài đăng này, chúng ta sẽ thấy 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ủa loại DateTime. Chúng ta có thể kết hợp nhiều cột vào một cột ngày duy nhất theo nhiều cách. Đầu tiên, chúng ta sẽ thấy 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 của loại DateTime, trong khi đọc dữ liệu bằng hàm pandas read_csv (). Tiếp theo, chúng tôi sẽ kết hợp các cột năm, tháng và ngày bằng cách sử dụng hàm Pandas application (). Đầu tiên, chúng ta hãy tải gấu trúc. 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 = "https://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 vào cột DateTime trong khi đọc tệpMộ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 một khung dữ liệu là phân tích chúng là biến ngày trong khi tải tệp dưới dạng gấu trúc DataFrame. Trong khi tải tệp dưới dạng khung dữ liệu Pandas bằng cách sử dụng hàm read_csv (), chúng tôi có thể chỉ định các tên cột sẽ được kết hợp vào cột DateTime. Chúng tôi sẽ sử dụng đối số của par par_dates đối với 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"]}) Bây giờ pandas xông read_csv () kết hợp các cột đó vào 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 hàm pandas thông tin (). df.info() Chúng ta có thể thấy rằng đó là một đối tượng của loại DateTime [ns].
Cũng lưu ý rằng trong khi kết hợp ba cột vào một cột ngày duy nhất, ba cột ba không nằm trong khung dữ liệu. Nếu bạn, chúng tôi muốn giữ ba cột sau khi kết hợp chúng thành DateTime, chúng tôi cần sử dụng df = pd.read_csv(path2data, parse_dates= {"date" : ["year","month","day"]}, keep_date_col=True) Bây giờ chúng tôi có bốn cột bao gồm cột năm, tháng và ngày ban đầu df.head()
Kết hợp các cột tháng, năm và ngày với gấu trúc áp dụng ()Một cách tiếp cận khác để kết hợp nhiều cột vào một cột ngày đầu tiên bằng cách dán ba cột bằng cách sử dụng hàm application (). Trong ví dụ này, chúng tôi chỉ định các cột quan tâm. Trong DataFrame mẫu của chúng tôi, đó là tất cả các cột. Và sau đó sử dụng hàm lambda để kết hợp ba giá trị theo một hàng bằng hàm nối (). import pandas as pd0 Bây giờ chúng tôi có một cột mới cho ngày. import pandas as pd1 Chúng ta có thể sử dụng hàm thông tin () để thấy rằng biến mới chưa phải là đối tượng DateTime. import pandas as pd2 Chúng ta có thể chuyển đổi cột ngày thành loại DateTime bằng cách sử dụng hàm pandas to_dateTime () như trong bài đăng. import pandas as pd3 |