给出一些数据,比如
pd.DataFrame(list('SxxxxxxxxESxxxxESxxxxxxxxxxxxE'))
我怎样才能把它分成以“S”开头,以“E”结尾的块?在
实际的数据当然更复杂,有一列包含上面的数据,还有其他列我想在上面使用groupby
。在
最终目标是能够从其他列(例如,给定的神秘函数group_chunks
执行此操作,myData.groupby('Person').group_chunks().Value.sum()
)检索并处理所有S/E分隔的块。在
响应对更真实数据和期望输出的请求,数据看起来像:
^{pr2}$所以使用神话中的group_chunks
(记住START
和{
df.groupBy('PID').group_chunks('Flag', 'START', 'END').Value.sum()
得到一个结果
Cond PID Value.sum
0 A 1 2.445172
1 B 1 2.347153
2 A 2 3.583813
您认为使用regex可以帮助解决问题,而不是将字符串作为字符列表处理吗?例如:
这里有一个使用numpy的选项。它至少能让你朝着正确的方向开始。为了方便阅读,我给你的专栏起了个“SE”的名字:
相关问题 更多 >
编程相关推荐