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

Python pandas如何将多列合并为列表类型的新列

解决方案

以下基于Pandas工具实现,生成的ColumnA每个元素原生为Python列表类型,可直接用于后续接口调用:

实现方法

方法1:逐行处理(写法简单,适合中小数据量)

选择需要合并的列,逐行删除空值后转为列表:

import pandas as pd

# 此处替换为你自己的原始DataFrame变量名
df['ColumnA'] = df[['Column1', 'Column2', 'Column3', 'Column4']].apply(
    lambda row: row.dropna().tolist(),
    axis=1
)

方法2:向量化处理(性能更高,适合百万级以上大数据量)

先把目标列转为numpy数组再批量处理,比apply快3~10倍:

target_cols = ['Column1', 'Column2', 'Column3', 'Column4']
df['ColumnA'] = [
    item[~pd.isna(item)].tolist() 
    for item in df[target_cols].to_numpy()
]

效果验证

执行后可直接校验类型是否符合要求:

# 输出第一个元素的类型,预期返回 <class 'list'>
print(type(df['ColumnA'].iloc[0]))

后续接口调用示例

可直接按索引遍历取列表数据发起POST请求:

import requests

API_URL = "替换为你的REST接口地址"
for idx in df.index:
    payload = {
        "index": idx,
        "params": df.loc[idx, 'ColumnA']
    }
    response = requests.post(API_URL, json=payload)
    # 按需处理接口返回逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 01:27:04