1 回答

TA贡献1796条经验 获得超7个赞
如果您从单个系列开始,则更容易解决这个问题。您可以根据“摘要”是否存在对数据行进行分组,然后使用它来跨列聚合和重新分解数据。
s = pd.Series(your_list)
pd.DataFrame(s.groupby(s.str.contains('summary', case=False).cumsum())
.agg(list)
.tolist())
0 1 2 3 4
0 SUMMARY - Dec 2013 Person1 None None 10
1 SUMMARY - Dec 2013 Person2 20 None None
2 SUMMARY - Jan 2014 Person3 None None None
感谢@Shubham Sharma 提出迭代组的建议:
pd.DataFrame([g.tolist() for k, g in s.groupby(
s.str.contains('summary', case=False).cumsum())])
0 1 2 3 4
0 SUMMARY - Dec 2013 Person1 None None 10
1 SUMMARY - Dec 2013 Person2 20 None None
2 SUMMARY - Jan 2014 Person3 None None None
添加回答
举报