首页 > 解决方案 > 在熊猫数据框中获取一周的最小值

问题描述

所以可以说我有一个带有一些重复日期的熊猫数据框:

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' 的周数)值和每周的最小值。

标签: pythonpandasdataframe

解决方案


尝试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]

推荐阅读