如何使用python数据框查找最高股价的日期

时间:2018-12-18 08:09:07

标签: python dataframe

我有一个像这样的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()”对一只股票进行尝试,如何获得最高价格和日期?

任何建议都值得赞赏。

非常感谢您。

1 个答案:

答案 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])

然后,您可以根据需要存储/使用结果。