我想按一列的值对数据帧中的行进行分组。下面给出的示例是,如果我将'NumberOfTrades'的值按150的值分组,那么对前2行进行分组,对后3行进行分组。下一步,据我所知,还需要进一步的步骤,从每组的第一个开始计算开,从每组的最后一个开始计算关,从每组最大的开始计算高,从每组最小的开始计算低。你知道吗
Time Open High Low Close NumberOfTrades
17:35 101.1 102 100 101 75
18:42 101 105 101 103 75
18:56 103 108 102 107 50
19:45 107 105 101 103 50
20:01 103 104 101 102 50
Time Open High Low Close NumberOfTrades
17:35 101.1 105 100 103 150
18:56 103 108 101 102 150
使用df = df.groupby('Time')['NumberOfTrades'].sum(freq=1000).to_frame()
只创建一个包含列Time和NumberOfTrades的新数据帧,我假设将每1000行分组。实际上我想把NumberOfTrades的值加起来等于1000。同时也不会丢失其他列。你知道吗
使用df = df.groupby(['Time', 'Open', 'High' 'Low', 'Close'])['NumberOfTrades'].sum(freq=1000).to_frame()
创建一个1xlen(NumberOfTrades列)形状的数据帧,而我需要一个6xN
我也尝试过使用df = df.groupby('Time')['NumberOfTrades'].sum(value=1000).to_frame()
尝试将“NumberOfTrades”的值相加到1000,但是当我将值从10调整到>10000时,形状保持不变
你可以试试这个:
输出:
替换@Scott Boston的解决方案中的
.eq(0)
而不是.diff().fillna(0).lt(0)
。你知道吗相关问题 更多 >
编程相关推荐