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

如何为Pandas DataFrame每行添加列表类型的'cities'列?

给Pandas DataFrame新增列表类型列的正确方法

当直接给DataFrame赋值列表来新增列时,Pandas会默认尝试将列表拆分为元素匹配行,无法实现每行都是单个列表的效果。以下是几种可行的实现方式:

方法1:列表推导式生成重复列表列

通过列表推导式创建长度与DataFrame行数一致的新列表,每个元素都是目标列表,再赋值给新列:

import pandas as pd
data = {'name':['john', 'ray', 'tony']}
df = pd.DataFrame(data)

# 为每行生成相同的列表值
df['cities'] = [['NY', 'LN', 'PK', 'SF'] for _ in range(len(df))]

方法2:使用apply方法逐行赋值

利用apply方法按行返回目标列表,指定axis=1确保操作针对每行:

df['cities'] = df.apply(lambda x: ['NY', 'LN', 'PK', 'SF'], axis=1)

方法3:通过pd.Series构造列

直接创建元素为目标列表的Series,再赋值给DataFrame的新列:

df['cities'] = pd.Series([['NY', 'LN', 'PK', 'SF']] * len(df))

执行任意一种方法后,df['cities']的每个元素都会是列表类型,而非字符串,满足需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 08:16:59