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

如何根据指定索引将pandas Series的值填充到DataFrame对应列

pandas指定索引位置赋值实现方法

直接使用loc标签索引器即可实现需求,核心逻辑是通过loc定位到column_a列下indices指定的索引行,再赋值对应的值即可。
为了避免pandas自动按索引对齐导致赋值失败,建议将val转为numpy数组后再赋值,写法如下:

# 核心赋值语句
df_test.loc[indices, 'column_a'] = val.values

注意事项

  • 上述写法默认val和indices的顺序是一一对应的,顺序错位会导致赋值结果不符合预期
  • 如果省略.values直接赋值val对象,pandas会尝试对齐val自身的索引和目标DataFrame的索引,你给出的示例中val默认索引是0~4,和indices指定的2、7等索引不匹配,直接赋值会得到NaN结果,因此加.values是更稳妥的写法

完整可运行示例

import pandas as pd
import numpy as np

df_test = pd.DataFrame(index=np.arange(4000), columns=np.arange(1))
df_test.columns = ['column_a']
val = pd.Series([0.267, 0.331, 0.486, 0.224, 0.334])
indices = pd.Series([2, 7, 9, 12, 70])

# 执行赋值
df_test.loc[indices, 'column_a'] = val.values

# 打印验证结果
print(df_test.loc[indices])

运行验证代码后可以看到指定索引位置的column_a列已经被正确赋值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 17:45:06