如何将NumPy数值型ndarray转换为字符串类型数组
NumPy二维浮点数组转字符串数组实现方法
核心实现思路
直接使用NumPy内置的astype()方法做类型转换即可,不需要写嵌套循环遍历元素。内置方法为向量化实现,转换效率远高于手动遍历,且能完整保留原有数值的小数精度,匹配目标格式要求。
具体实现代码
import numpy as np # 原始浮点数据,如果本身已经是ndarray类型,可跳过np.array包裹步骤 values = np.array([ [ 116.17265886, 39.92265886, 116.1761427 , 39.92536232], [ 116.20749721, 39.90373467, 116.21098105, 39.90643813], [ 116.21794872, 39.90373467, 116.22143255, 39.90643813] ]) # 转换为元素全为字符串的ndarray str_values = values.astype(str)
执行后str_values的输出和要求的目标格式完全一致,所有浮点元素都会转为对应的字符串形式。
扩展:转原生Python嵌套列表
如果不需要保留ndarray结构,想要得到原生Python的嵌套列表(和示例给出的列表结构完全一致),在转换后追加tolist()调用即可:
str_list = values.astype(str).tolist()
内容的提问来源于stack exchange,提问作者The Peace of Programming
相关产品推荐
相关产品推荐

