即使数据丢失,如何获取idxmax和idxmin的列?

2024-09-29 21:49:36 发布

您现在位置:Python中文网/ 问答频道 /正文

对于下面的代码,我还希望在缺少数据的情况下(如使用df2)得到highDatelowDate列,它们构成了引用的最大值和最小值出现在重采样数据中的值。你知道吗

我必须做些什么才能得到最小值和最大值发生的时间点,即使在重新采样后丢失了一些数据(或者有没有替代idxminidxmax的方法)?你知道吗

import pandas as pd
import numpy as np

np.random.seed(1)

amountOfDataPoints = 12
myRange1 = pd.date_range('2018-04-09', periods=amountOfDataPoints, freq='1min')
myRange2 = pd.date_range('2018-04-09', periods=amountOfDataPoints, freq='1h')

data = np.random.rand(amountOfDataPoints)
df1 = pd.DataFrame(data, myRange1)
df2 = pd.DataFrame(data, myRange2)

df1Resampled = df1.resample('10min', label='right').agg({
    'high': 'max',
    'highDate': 'idxmax',
    'low': 'min',
    'lowDate': 'idxmin'
})

df2Resampled = df2.resample('10min', label='right').agg({
    'high': 'max',
    'highDate': 'idxmax',
    'low': 'min',
    'lowDate': 'idxmin'
})

df1Resampled.head()
Out[3]: 
                         high            highDate       low             lowDate
                            0                   0         0                   0
2018-04-09 00:10:00  0.720324 2018-04-09 00:01:00  0.000114 2018-04-09 00:02:00
2018-04-09 00:20:00  0.685220 2018-04-09 00:11:00  0.419195 2018-04-09 00:10:00


df2Resampled.head()
Out[4]: 
                         high       low
                            0         0
2018-04-09 00:10:00  0.417022  0.417022
2018-04-09 00:20:00       NaN       NaN
2018-04-09 00:30:00       NaN       NaN
2018-04-09 00:40:00       NaN       NaN
2018-04-09 00:50:00       NaN       NaN

Tags: 数据importdataasnpnanlowpd

热门问题