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

如何将DataFrame第二列数据追加到第一列数据下方并格式化?

问题

现有如下DataFrame:

import pandas as pd
df = pd.DataFrame({
    'Name': ['abc', 'bhf', 'dmf'],
    'Sequence': ['ghijklmkhf', 'uyhbnfkkkkkk', 'hjjfkkd']
})

需要将第二列数据以指定格式追加到第一列对应值的下方,生成新的Merged列,最终效果如下:

Name   Sequence       Merged
abc    ghijklmkhf     >abc
                      ghijklmkhf
bhf    uyhbnfkkkkkk   >bhf
                      uyhbnfkkkkkk
dmf    hjjfkkd        >dmf
                      hjjfkkd

已通过df['Name'] = '>' + df['Name'].astype(str)为Name列添加了>符号,现在需要实现将Sequence列内容追加到对应Name值的下方。

解决方法

要实现这个效果,核心是让每行的Merged列先存储一个包含格式化后Name和Sequence的列表,再把列表拆分为两行,同时让原列的非首行内容为空,具体代码如下:

  1. 生成带前缀的Name列(建议保留原Name列,避免覆盖原始数据):
df['formatted_name'] = '>' + df['Name']
  1. 构造Merged列,每行是包含两个元素的列表:
df['Merged'] = df.apply(lambda x: [x['formatted_name'], x['Sequence']], axis=1)
  1. 展开列表并处理原列显示:
# 将Merged列的列表拆分为单独行
result_df = df.explode('Merged').reset_index(drop=True)
# 让每组的第二行(索引为奇数的行)的Name和Sequence显示为空
result_df.loc[result_df.index % 2 == 1, ['Name', 'Sequence']] = ''

执行后得到的result_df就是你需要的最终结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 12:39:50