2
我試圖找到使用兩個單獨的DataFrames最近的前一個日期。其實我已經得到了代碼來做到這一點,但它採用的是for
循環,我寧可不使用,尤其是我的實際DataFrames會比下面的代碼片段大得多:熊貓 - 找到沒有循環的兩個DataFrames之間的最近日期
date_x = pd.to_datetime(['1/15/2015','2/14/2015','3/16/2015','4/15/2015','5/15/2015','6/14/2015','7/14/2015'])
date_y = pd.to_datetime(['1/1/2015','3/1/2015','6/14/2015','8/1/2015'])
dfx = pd.DataFrame({'date_x':date_x})
dfy = pd.DataFrame({'date_y':date_y})
z_list = []
for x in range(dfx['date_x'].count()):
z_list.append(dfy['date_y'][dfy['date_y'] <= dfx['date_x'][x]].max())
dfx['date_z'] = z_list
收益率...
date_x date_z
0 2015-01-15 2015-01-01
1 2015-02-14 2015-01-01
2 2015-03-16 2015-03-01
3 2015-04-15 2015-03-01
4 2015-05-15 2015-03-01
5 2015-06-14 2015-06-14
6 2015-07-14 2015-06-14
這正是我想要的,但同樣,我認爲有更多的pandonic方式。
這是荒謬的被添加。謝謝!我覺得有點荒謬,因爲這是今天第二次向我提到'merge_asof()',但是我需要幾次明顯地在頭上杵。很棒的功能。 – pshep123
如果最近的日期實際上是在該日期之後,它似乎仍然會繼續前一個日期。我想它只是讀我的腦海。我對此很滿意。 – pshep123
很好的回答:-)。 – piRSquared