根据行是否包含字符串将数据帧拆分为多个数据帧

2024-03-29 14:30:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我想根据一行是否包含某个字符串“Customer”和所有后续行拆分数据帧,直到另一行包含“Customer”,即

c_name       |   cost   | p_date
Customer: xx |          | 
hat          |    12    |   1/1/2018
bat          |    13    |   2/3/2018
Customer: xy |          |
mat          |    14    |   1/2/2018

到 DF1型

^{pr2}$

DF2型

^{3}$

我知道我可以根据df.c_name.str.contains('Customer')得到拆分数据帧的位置,但是如何使用它来分割数据帧呢?在


Tags: 数据字符串namedfdatehatcustomerdf1
1条回答
网友
1楼 · 发布于 2024-03-29 14:30:42

str.contains+groupby

m = df.c_name.str.contains('Customer').cumsum()
d = {f'df{i}': g for i, g in df.groupby(m)}

for k, v in d.items():
    print(k)
    print(v, end='\n\n')

^{pr2}$


要访问各个数据帧,只需使用d['df1']等。。。在

相关问题 更多 >