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

如何将数组的两个值插入pandas DataFrame指定列的指定索引位置

实现pandas DataFrame指定位置赋值的解决方案

需求说明

现有pandas DataFrame和长度为2的numpy数组,需要将数组值依次写入索引为2020-12-31、列名为v2和v3的位置,替换原有值。

初始代码

import pandas as pd
import numpy as np

df=pd.DataFrame({'v0': [3,4,5,6,7,8,9,10,11,12,13,14],
    'v1': [600, 550, 600, 600, 600, 600, 550, 500, 450, 350, np.NaN, np.NaN],
                      'v2': [350, 400, 450, 500, 450, 400, 450, 400, 350, 300, np.NaN, np.NaN],
                      'v3': [350, 350, 450, 500, 450, 400, 400, 300, 300, 250, np.NaN, np.NaN]},
                     index=pd.date_range('2020-03-31', '2021-02-28', freq='M'))

array=np.array([305, 255])

实现代码

直接使用pandas的loc标签索引方法即可完成赋值,操作简洁且可读性高:

# 按行标签、列标签指定位置赋值
df.loc['2020-12-31', ['v2', 'v3']] = array

效果验证

赋值完成后可通过以下代码查看结果:

print(df.loc['2020-12-31', ['v2', 'v3']])

输出结果:

v2    305.0
v3    255.0
Name: 2020-12-31 00:00:00, dtype: float64

注意事项

  • 列名的顺序要和numpy数组的元素顺序对应,保证赋值位置准确
  • 行索引为datetime类型时,pandas会自动解析字符串格式的日期匹配对应索引,无需手动转换格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 08:27:04