Получите минимальное значение недели в кадре данных pandas

#python #pandas #dataframe

Вопрос:

Итак, допустим, у меня есть фрейм данных pandas с НЕКОТОРЫМИ повторяющимися датами:

 import pandas as pd
import random

reportDate = pd.date_range('04-01-2010', '09-03-2021',periods = 5000).date
lowPriceMin = [random.randint(10, 20) for x in range(5000)]
df = pd.DataFrame()
df['reportDate'] = reportDate
df['lowPriceMin'] = lowPriceMin
 

Теперь я хочу получать минимальное значение с каждой недели с даты начала. Таким образом, у меня будет около 559 (количество недель с «04-01-2010» по «09-03-2021») значений с минимальным значением за каждую неделю.

Ответ №1:

Попробуйте с resample :

 df['reportDate'] = pd.to_datetime(df['reportDate'])

>>> df.set_index("reportDate").resample("W").min()

            lowPriceMin
reportDate             
2010-01-10           10
2010-01-17           10
2010-01-24           14
2010-01-31           10
2010-02-07           14
                ...
2021-02-14           11
2021-02-21           11
2021-02-28           10
2021-03-07           10
2021-03-14           17

[584 rows x 1 columns]
 

Комментарии:

1. Спасибо, на самом деле у меня было что-то похожее, но я думал lowPriceMin , что ценность в том, что ценность в reportDate