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

如何在从Pandas DataFrame提取的数组开头添加元素?

解决方法:在Pandas提取的数组开头添加元素999

你遇到的问题是因为dat['X'].values返回的是numpy数组,而numpy的+运算符会触发广播机制,把标量999和数组每个元素相加,而非列表那样的拼接操作。以下是几种正确实现方式:

方法1:转列表拼接后转回数组

先把Pandas Series转成普通列表,和[999]拼接后再转回numpy数组:

import pandas as pd
import numpy as np

dat = pd.DataFrame({'X' : [1,2], 'Y' : ['A', 'B']})
result = np.array([999] + dat['X'].tolist())
print(result)  # 输出: array([999,   1,   2])

方法2:用numpy的concatenate函数

直接使用numpy的数组拼接函数,需要把999包装成数组/列表后和原数组合并:

import pandas as pd
import numpy as np

dat = pd.DataFrame({'X' : [1,2], 'Y' : ['A', 'B']})
result = np.concatenate([[999], dat['X'].values])
print(result)  # 输出: array([999,   1,   2])

方法3:保持Pandas Series类型(可选)

如果不需要转成numpy数组,想直接操作Series,可以用append方法:

import pandas as pd

dat = pd.DataFrame({'X' : [1,2], 'Y' : ['A', 'B']})
result_series = pd.Series([999]).append(dat['X'], ignore_index=True)
print(result_series)
# 输出:
# 0    999
# 1      1
# 2      2
# dtype: int64
# 转数组可使用 result_series.values

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 18:46:05