【发布时间】:2019-07-08 14:23:16
【问题描述】:
我有一个 Pandas 时间序列数据框。 它有 30 天的股票分钟数据。 我想创建一个新列,说明当天早上 6 点的股票价格,例如对于 1 月 1 日的所有行,我想要一个新列,其中包含 1 月 1 日中午的价格,对于 1 月 2 日的所有行,我想要一个新列,其中包含 1 月 2 日中午的价格,等等。
Existing timeframe:
Date Time Last_Price Date Time 12amT
1/1/19 08:00 100 1/1/19 08:00 ?
1/1/19 08:01 101 1/1/19 08:01 ?
1/1/19 08:02 100.50 1/1/19 08:02 ?
...
31/1/19 21:00 106 31/1/19 21:00 ?
我使用了这个 hack,但它很慢,我认为有一种更快更简单的方法来做到这一点。
for lab, row in df.iterrows() :
t=row["Date"]
df.loc[lab,"12amT"]=df[(df['Date']==t)&(df['Time']=="12:00")]["Last_Price"].values[0]
【问题讨论】:
-
请显示想要的结果
标签: python pandas dataframe search