Как найти дату самой высокой цены акций с помощью питона - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть такой фрейм данных Python, как этот столбец : stock_id, цена строки с индексом даты

Я хочу узнать самую высокую цену и дату каждого идентификатора акции.

Я не знаю, как это сделать.

Когда я использую "price.iloc [-200:]. Max ()", чтобы показать самую высокую цену за последние 200 дат для каждой акции,он показывает только цену каждой акции, но без даты.

самая высокая цена каждой акции, но без даты

Если я попробую это только для одной акции с "ценой"['0050']. Max () ", как я могу получить самую высокую цену и дату?

Любое предложение приветствуется.

Большое спасибо.

1 Ответ

0 голосов
/ 18 декабря 2018

Если вы просто хотите узнать максимальное значение для данной акции, используйте loc.

stock_data = df.loc[df['stock name'][-200:].idxmax()]

, которая дает вам строку, содержащую максимальное значение за последние 200 дней всех акций для этогоданный запас, что означает, что вам нужно избавиться от остальных.

index = stock_data.name
value = stock_data['stock name']

Это не симпатичное решение, но оно работает.

Тот, который делает то же самое для всехis:

# 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])

Затем вы можете сохранять / использовать результаты по своему усмотрению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...