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

如何将DataFrame中的字符串列转换为float类型的numpy.ndarray?

解决方案

没有直接实现该需求的内置函数,由于你的Feature列存储的是类数组格式的字符串,需要先做字符串清洗再完成类型转换,具体操作如下:

完整代码实现

import pandas as pd
import numpy as np

# 1. 清洗Feature列的无效符号(方括号、引号、逗号、多余空格)
df['Feature'] = df['Feature'].str.replace(r"[\[\]', ]+", " ", regex=True).str.strip()

# 2. 转换为float类型numpy数组
float_np_arr = np.array(
    df['Feature'].apply(lambda s: [float(num) for num in s.split()]).tolist()
)

说明

  1. 上述代码默认你示例中的...是打印时的显示截断,实际字符串中存储了全量数值。如果...是实际存储在字符串中的截断内容,需要先导出完整的原始数据再做转换,截断后的字符串无法生成完整数值数组。
  2. 需确保所有Feature行的数值个数一致,否则最终生成的会是object类型的数组,而非标准的float二维数组。
  3. 可通过以下代码验证转换结果:
print(type(float_np_arr))  # 输出应为 <class 'numpy.ndarray'>
print(float_np_arr.dtype)  # 输出应为 float64

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 02:39:02