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

如何将数据类型转换为object类型?解决numpy多类型存储冲突

将numpy数据转换为object类型并存储混合类型数组

因为numpy.float64和numpy.datetime64没有兼容的数值 dtype,要把它们存到单个数组里,必须用object类型。以下是具体实现方法:

方法1:直接创建object类型数组并赋值

先初始化一个指定dtype=object的空数组,再分别填入不同类型的数据:

import numpy as np

# 准备两种类型的数据
float_vals = np.array([3.14, 2.718, 1.618], dtype=np.float64)
datetime_vals = np.array(['2024-03-01', '2024-04-01'], dtype='datetime64[D]')

# 创建object类型数组
mixed_array = np.empty(len(float_vals) + len(datetime_vals), dtype=object)
# 填充数据
mixed_array[:len(float_vals)] = float_vals
mixed_array[len(float_vals):] = datetime_vals

方法2:转换已有数组为object后合并

先将每个类型的数组单独转为object类型,再合并:

import numpy as np

float_vals = np.array([3.14, 2.718, 1.618], dtype=np.float64)
datetime_vals = np.array(['2024-03-01', '2024-04-01'], dtype='datetime64[D]')

# 转换为object类型
float_obj = float_vals.astype(object)
datetime_obj = datetime_vals.astype(object)

# 合并数组
mixed_array = np.concatenate([float_obj, datetime_obj])

验证结果:打印mixed_array.dtype会得到dtype('O'),数组中可同时容纳float和datetime类型元素。

内容的提问来源于stack exchange,提问作者Aman Raj Das

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 22:27:26