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

如何去除Numpy数组元素中最后4位以外的字符?

解决Numpy数组提取每个元素最后4位的问题

你遇到的问题是因为Numpy数组的[-4:]操作是对数组本身的维度进行切片,直接取数组的最后4个元素,而非对每个元素做字符串切片。要实现每个元素保留最后4位,分两种场景处理:

场景1:数组是Numpy字符串类型(dtype为str或<Uxx)

直接用Numpy字符串数组自带的str属性操作,这是最高效的方式:

# 假设andatum是numpy字符串数组
andatum = andatum.str[-4:]

场景2:数组是object类型或数值类型

如果你的数组元素是object类型(比如存储Python原生字符串)或者数值类型,可通过以下两种方式处理:

方式A:列表推导式转Numpy数组

简单直观,适合小规模数组:

import numpy as np
# 逐个元素转字符串取最后4位,再转回Numpy数组
andatum = np.array([str(item)[-4:] for item in andatum])

方式B:用np.vectorize批量处理

适合需要重复调用或大规模数组的场景:

import numpy as np

def extract_last_four(item):
    return str(item)[-4:]

# 包装函数实现对数组每个元素的批量操作
vectorized_extract = np.vectorize(extract_last_four)
andatum = vectorized_extract(andatum)

举个实际示例:
原数组:

andatum = np.array(['ABC2023', 'DEF2024', 'GHI2025', 'JKL2026'])

处理后得到:

array(['2023', '2024', '2025', '2026'], dtype='<U4')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 02:10:34