Pandas如何将HCC前缀行及后续直到下一个HCC的行拆分为独立DataFrame
实现方案
核心思路
通过给每组HCC开头的行生成相同的分组ID实现批量拆分,无需手动遍历行:
- 对Code列判断是否以
HCC开头,生成布尔序列 - 对布尔序列做累加,每遇到一个
HCC开头的行,分组ID自动+1,同组内所有行的分组ID完全一致,正好匹配你需要的「从HCC开头行到下一个HCC开头行之前的所有行」的分组规则
完整代码
import pandas as pd # 生成分组ID,fillna(False)用于兼容Code列存在空值的场景 group_id = icd_data['Code'].str.startswith('HCC').fillna(False).cumsum() # 按分组ID拆分,得到所有目标DataFrame组成的列表 hcc_groups = [group_df for _, group_df in icd_data.groupby(group_id)]
执行完成后,hcc_groups[0]对应第一个HCC分组的DataFrame,hcc_groups[1]对应第二个,以此类推。
输出验证
如果需要按你期望的格式打印结果,可以执行以下代码:
for num, df in enumerate(hcc_groups, start=1): print(f"Dataframe {num}") print(df.to_string(index=False)) print()
内容的提问来源于stack exchange,提问作者John Taylor
相关产品推荐
相关产品推荐

