2014-09-01 22 views
9

Tôi có hai khung dữ liệu gấu trúc: df1 và df2.Tra cứu Pandas, ánh xạ một cột trong một khung dữ liệu đến một cột khác trong một khung dữ liệu khác nhau

df1 có các cột X và Y và tuần. df2 có các cột Z, weeknum và datetime.

Tôi muốn về cơ bản giữ df1 và có thêm cột trong đó là ngày giờ tương ứng cho tuần.

tôi có thể sử dụng kết hợp nhưng phải có một cách sạch hơn, mà không cần phải thả cột Z.

Trả lời

11

Bạn có thể lấy các cột mà bạn muốn trong cú pháp hợp nhất

df1 = df1.merge(df2[['weeknum', 'datetime']], on=['weeknum']) 

này sẽ đảm bảo bạn không có bất kỳ cột không mong muốn nào của df2 trong kết quả của bạn, nhưng bạn không phải xóa các cột đó khỏi DataFrame thứ hai của mình trong quá trình này.

Các vấn đề liên quan