【发布时间】:2021-09-04 17:47:09
【问题描述】:
首先创建具有常规索引的数据框,这是我想使用 df1 的索引重新采样的 df
df0 = pd.DataFrame(index=pd.date_range(start='2018-10-31 00:17:24', periods=50,freq='1s'))
我不知道如何创建具有不规则索引的 df,因此我创建了一个新数据框(我要使用的索引)来重新采样 df0
df1 = pd.DataFrame(index=pd.date_range(start='2018-10-31 00:17:24', periods=50,freq='20s'))
对于最小的可重现示例。创建一个值介于 0 和 1 之间的列
df0['dat'] = np.random.rand(len(df0))
我想查找 dat 列的值大于 0.5 的行
df0['target'] = 0
df0.loc[(df0['dat'] >= 0.5), 'target'] = 1
然后我想使用 df1 的索引重新索引 df0,但列的每一行名为 df0['target'] 应该有该窗口中的值的总和
我试过的是:
new_index = df1.index
df_new = df0.reindex(df0.index.union(new_index)).interpolate(method='linear').reindex(new_index).sum()
但是这个 sum() 搞砸了一切
【问题讨论】:
标签: python pandas dataframe group-by reindex