Xin chào các bạn, giả sử tôi có dữ liệu về thời gian. Làm cách nào để lọc dữ liệu chỉ xảy ra trong 1 ngày khác nhau?Làm thế nào để lọc shift +/- 1 ngày trong Pandas?
Giả sử dữ liệu được
date name
2015-04-03 A
2015-04-04 A
2015-04-05 A
2015-04-03 B
Những gì tôi muốn làm là một cái gì đó giống như
df[df.shift(1).contains(df.name) or df.shift(-1).contains(df.name)]
rằng sẽ cho tôi
date name
2015-04-03 A
2015-04-04 A
2015-04-05 A
Làm thế nào để làm điều này trong gấu trúc?
Bạn đang tìm kiếm kết hợp chính xác hay 'tên' thực sự 'chứa' hàng hiện tại 'tên' giá trị – EdChum
tôi không hiểu câu hỏi, nhưng có vẻ như bạn muốn sử dụng 'groupby ('name')' ở đây và sau đó bất cứ điều gì khác bạn đang cố gắng làm. Có lẽ điều này? 'df.groupby ('name') ['date']. apply (lambda x: x == x.shift() + datetime.timedelta (1))' – JohnE
Đây là một câu hỏi rất khó hiểu, tại sao nó lại có 5 upvotes?!? Mô tả, mã và kết quả đều khác nhau. Điều này thực sự phải được làm rõ bởi OP nếu có nhiều sự quan tâm trong câu hỏi và câu trả lời. – JohnE