给定一个如下所示的 DataFrame:
contractID
Date
1982-09-16 (SPZ1982, 1982-12-16 00:00:00)
1982-09-17 (SPZ1982, 1982-12-16 00:00:00)
1982-09-20 (SPZ1982, 1982-12-16 00:00:00)
...
2018-09-27 (SPZ2018, 2018-12-21 00:00:00)
2018-09-28 (SPZ2018, 2018-12-21 00:00:00)
2018-10-01 (SPZ2018, 2018-12-21 00:00:00)
我有重复的contractIDs 并且我想有效地对这些 ID 执行操作,如下所示:
def query(df, tup, startDate, endDate):
ID = tup[0]
ExpirationDate = tup[1]
panel = df.loc[ID].loc[ExpirationDate].loc[startDate:endDate]
return panel
df = pd.DataFrame()
print('acquiring daily data...')
for tup in contractUse['contractID'].unique():
panel = query(rawData, tup, startDate, endDate)
if df.empty:
df = panel
else:
df = df.append(panel, verify_integrity=False)
return df
contractUse上面介绍的DataFrame在哪里。我只想迭代唯一值。当我迭代唯一值时,我需要获取该唯一值何时开始的索引值,以及该唯一值何时停止的索引值。然后我为我的函数提供这个startDate和endDate独特的价值query。有没有一种快速的方法可以在大熊猫中做到这一点?
相关分类