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
添加回答
舉報