我有一个像这样的python数据框 column: stock_id, row price with date index
我想知道每个stock_id的最高价格和日期。
我不知道该怎么做。
当我使用“ price.iloc [-200:]。max()”显示每只股票在最近200个日期中的最高股价时,它仅显示每只股票的价格,而没有日期。
the highest price of every stock but no date
如果我只用“ price ['0050']。max()”对一只股票进行尝试,如何获得最高价格和日期?
任何建议都值得赞赏。
非常感谢您。
答案 0 :(得分:0)
如果您只想找出给定股票的最大值,请使用loc。
stock_data = df.loc[df['stock name'][-200:].idxmax()]
哪一行都包含该给定库存中所有库存的最近200天的最大值,这意味着您需要删除其余库存。
index = stock_data.name
value = stock_data['stock name']
这不是一个很好的解决方案,但是可以。
一个对所有人都相同的东西是
# create a temporary data frame with the last 200 days
df_200 = df[-200:]
res = []
# go through each stock
for stock in list(df):
df_t = df_200.loc[df_200[stock].idxmax()]
value = df_t[stock]
index = df_t.name
res.append([index, stock, value])
然后,您可以根据需要存储/使用结果。