Như đầu vào tôi có hai dataframes:Hợp nhất hai dataframes với dữ liệu khoảng thời gian trong một trong số họ
data1 = [{'code':100}, {'code':120}, {'code':110}]
data1 = pd.DataFrame(data1)
code
0 100
1 120
2 110
data2 = [{'category':1, 'l_bound':99, 'r_bound':105},{'category':2, 'l_bound':107, 'r_bound':110},{'category':3, 'l_bound':117, 'r_bound':135}]
data2 = pd.DataFrame(data2)
category l_bound r_bound
0 1 99 105
1 2 107 110
2 3 117 135
Tôi muốn nhận được vào cuối những dataframe sau, với cột bổ sung trong dataframe đầu tiên như một số loại nếu mã nằm trong khoảng thời gian tương ứng:
code category
0 100 1
1 120 3
2 110 2
Khoảng thời gian là ngẫu nhiên và các khung dữ liệu ban đầu là khá lớn. Looping với itertuples là quá chậm. Bất kỳ giải pháp pythonic?
trăn tinh khiết - https://eval.in/928533 – splash58
@AntonvBR Tôi đã không nhìn kỹ vào ví dụ này, nhưng vấn đề (và câu trả lời) giữa hai dường như giống hệt nhau ... –
** Quan sát hữu ích **: Các giải pháp dưới đây có thể không hoạt động nếu dữ liệu không ở định dạng thích hợp. Đảm bảo rằng 'dữ liệu1' và' dữ liệu2' là số nguyên. Cũng có thể có các định dạng hỗn hợp trong một số cột của tập dữ liệu gốc (ví dụ: '' mã ':' 123a''). Để loại bỏ nó chỉ cần thêm 'data1 = data1 [pd.to_numeric (data1 ['code'], errors = 'coerce'). Notnull()] data1 ['code'] = pd.to_numeric (data1 ['code ']) ' –