2017-04-26 133 views
0

我有一些盤中stockdata(例如,日期時間,打開,關閉),我想通過當天的聚合測量來擴展。 Like: 日期時間,打開,關閉,t_Open(天打開),t_Close(天關閉)。熊貓數據幀..重複取樣行

當我使用重採樣(),它重新採樣整天:

   DateTime  Open Close T_OPEN T_CLOSE 
165 2017-04-26 08:00:00 12485.6 12473.6 12485.6 12463.4 
166 2017-04-26 08:15:00 12473.9 12473.9 12485.6 12463.4 
167 2017-04-26 08:30:00 12473.6 12466.1 12485.6 12463.4 
168 2017-04-26 08:45:00 12466.4 12469.6 12485.6 12463.4 
169 2017-04-26 09:00:00 12470.1 12460.4 12485.6 12463.4 
170 2017-04-26 09:15:00 12460.1 12460.1 12485.6 12463.4 
171 2017-04-26 09:30:00 12459.9 12459.6 12485.6 12463.4 
172 2017-04-26 09:45:00 12459.4 12463.4 12485.6 12463.4 
173 2017-04-26 10:00:00 12462.9 12463.4 12485.6 12463.4 

,但我要找的東西,通過連續重複採樣。 因此,每一行的close值等於t_close,因爲它是givin點處的最後一個obs(並且t_High將是該行的最高值)。

這樣的:

   DateTime  Open Close T_OPEN T_CLOSE 
165 2017-04-26 08:00:00 12485.6 12473.6 12485.6 12473.6 
166 2017-04-26 08:15:00 12473.9 12473.9 12485.6 12473.9 
167 2017-04-26 08:30:00 12473.6 12466.1 12485.6 12466.1 
168 2017-04-26 08:45:00 12466.4 12469.6 12485.6 12469.6 

你有一個想法?

UPDATE 我決定創建一個更通用的問題的意見後:) 我需要計算基礎上的所有數據直到行我工作的附加列。這意味着:

T_OPEN = is always equal to the "OPEN" value from the first Obs of that day 
T_Close = is always the "CLOSE" value from the current line 
T_HIGH = is the highest "HIGH" value until that row of that day 
T_LOW = is the lowest "LOW" value until that row of that day 

我可以通過在該數據幀兩次迭代解決這個......但我一直在尋找/希望更pandaslike的選擇:)

感謝和最美好的祝願, E.

回答

0

我想我明白你想要做什麼。這應該工作:通過迭代和高/低值保留值

感謝

df = df.loc[df['Open'] <= df['Close']] 
df['T_CLOSE'] = df['Close'] 
+0

如果您的解決方案是好的,給我知道,我woud喜歡給予好評它;) – jezrael

+0

我認爲這是爲OP決定......但我不會介意的了反正投票:) – pshep123

+0

因爲我的主問題是我不明白的問題。所以如果接受或給出解決方案是正確的我也upvote。 – jezrael

0

我已經解決了這個問題! Elenio