You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何按嵌套索引列表拼接DataFrame的PARTICULARS列内容?

问题解决:按嵌套索引拼接DataFrame的PARTICULARS字段

现有数据

  • 连续索引嵌套列表:continuous = [[2, 3, 4], [10, 11]](子列表长度不固定)
  • 非连续索引嵌套列表:non-continuous = [[7], [56]](子列表长度固定为1)
  • 目标DataFrame结构:
INDEX        PARTICULARS
2             COMPENSATION CHARGE USE OF
3                   WAREHOUSING PREMISES
4                            FOR APR 22.
7                        RENT FOR APR 22
10                      BEING PAYMENT OF
11                   RENT OF NEW BRANCH.
56                    TOWARDS LANDSCAPE. 

需求目标

将每个嵌套索引子列表对应的PARTICULARS字段内容拼接,并标注对应索引,输出格式如下:

PARTICULARS

COMPENSATION CHARGE USE OF WAREHOUSING PREMISES FOR APR 22   (being [2,3,4]
RENT FOR APR 22                                              (being[7] 
BEING PAYMENT OF RENT OF NEW BRANCH.                         (being[10,11]
TOWARDS LANDSCAPE.                                           (being [56]

实现步骤(Python + Pandas)

  1. 合并两个索引列表,得到完整的索引分组:
continuous = [[2, 3, 4], [10, 11]]
non_continuous = [[7], [56]]
index_groups = continuous + non_continuous
  1. 创建或加载目标DataFrame(假设INDEX为普通列):
import pandas as pd

data = {
    'INDEX': [2, 3, 4, 7, 10, 11, 56],
    'PARTICULARS': [
        'COMPENSATION CHARGE USE OF',
        'WAREHOUSING PREMISES',
        'FOR APR 22.',
        'RENT FOR APR 22',
        'BEING PAYMENT OF',
        'RENT OF NEW BRANCH.',
        'TOWARDS LANDSCAPE.'
    ]
}
df = pd.DataFrame(data)
  1. 遍历分组拼接内容并格式化输出:
print("PARTICULARS\n")
for group in index_groups:
    # 筛选当前分组的PARTICULARS并拼接
    content = df[df['INDEX'].isin(group)]['PARTICULARS'].str.cat(sep=' ')
    # 生成索引标注
    annotation = f"(being {group}"
    # 对齐输出(可调整<60的数值控制排版间距)
    print(f"{content:<60}{annotation}")

补充说明

  • 如果INDEX是DataFrame的索引列,将代码中的df['INDEX'].isin(group)替换为df.index.isin(group)即可。
  • 输出的对齐宽度可根据实际内容长度调整,确保排版整齐。

内容的提问来源于stack exchange,提问作者Rajeev Menon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 06:30:55