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

如何在Python中为包含多个DataFrame的列表添加固定值列?

为列表中的每个Pandas DataFrame添加固定值的category列

问题场景

你有一个包含多个Pandas DataFrame的列表result_list,每个DataFrame包含rating和place两列,需要为每个DataFrame新增名为category的第三列,分别赋予固定值(如第一个DataFrame赋值Restaurant,第二个赋值Bakery)。

你之前尝试的代码未成功,原因是错误地将字符串直接追加到列表中,而非修改列表内的DataFrame对象:

lista = ['Restaurant','Bakery']

for i,e in enumerate(result_list):
    result_list.append(lista[i])

正确实现方法

核心思路是遍历列表中的每个DataFrame,直接为其添加新列并赋值,Pandas会自动将单个值广播到DataFrame的所有行。

完整代码示例

lista = ['Restaurant','Bakery']

# 遍历列表中的每个DataFrame,按索引匹配分类值
for idx, df in enumerate(result_list):
    # 为当前DataFrame添加category列,所有行取对应分类值
    df['category'] = lista[idx]

代码说明

  1. enumerate(result_list)同时获取每个DataFrame的索引idx和对象df,方便匹配lista中对应的分类值;
  2. df['category'] = lista[idx]直接给DataFrame新增一列,Pandas会自动将lista[idx]这个固定值填充到该列的所有行;
  3. 操作会直接修改原列表中的DataFrame对象,若需要保留原DataFrame,可以先复制再操作:new_df = df.copy(); new_df['category'] = lista[idx]。

验证结果

执行后,每个DataFrame都会新增category列:
第一个DataFrame:

ratingplacecategory
03 starsL’OsteriaRestaurant
13 starsShivaRestaurant

第二个DataFrame:

ratingplacecategory
05 starsBio BakeryBakery
14 starsNova Era BakeryBakery
23 starsPanino ItalianoBakery

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 03:16:12