我正在嘗試通過按年份對具有日期時間索引的時間序列進行分組來恢復原始日期或索引。有沒有更快的方法沒有回圈和額外的列來獲得first_day_indices
import pandas as pd
import numpy as np
import datetime as dt
# Data
T = 1000
base = dt.date.today()
date_list = [base - dt.timedelta(weeks=x) for x in range(T)]
date_list.reverse()
test_data = pd.DataFrame(np.random.randn(T)/100, columns=['Col1'])
test_data.index = pd.to_datetime(date_list)
test_data['date'] = test_data.index
first_days = test_data['date'].groupby(test_data.index.year).first()
first_day_indices= []
for i in first_days:
first_day_indices.append(np.where(test_data.index == i)[0][0])
print(first_day_indices)
uj5u.com熱心網友回復:
您可以使用pandas.Series.isin來檢查 Series 中的元素是否包含在值串列中。
test_data.reset_index()[test_data.index.isin(first_days)].index.tolist()
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/464333.html
標籤:Python 熊猫 约会时间 熊猫-groupby
