【问题标题】:Remove character from a value in a Numpy array从 Numpy 数组中的值中删除字符
【发布时间】:2022-12-15 03:31:44
【问题描述】:

我正在尝试从 numpy 数组中的所有值中删除最后 4 个字符旁边的所有字符。 我通常会使用 [-4:] 但如果我在 arra 上使用它,我只会获得数组中的最后 4 个值。

andatum = andatum[-4:] print(andatum)

'15.11.1999' '15.11.1999' '15.11.1999' '15.11.1999' '15.11.1999' '15.11.1999' '15.11.1999' '15.11.1999' '15.11.1999' '15.11.1999' '15.11.1999' '15.11.1999' '15.11.1999' '15.11.1999' '15.11.1999' '15.11.1999' '15.11.1999' '15.11.1999' '15.11.1999' '15.11.1999' '15.11.1999' '15.11.1999' '15.11.1999' '15.11.1999' '15.11.1999' '15.11.1999']

runfile('O:/GIS/GEP/Risikomanagement/Flussvermessung/ALD/Analyses/ReadFilesToRawData.py', wdir='O:/GIS/GEP/Risikomanagement/Flussvermessung/ALD/Analyses') ['15.11.1999' '15.11.1999' '15.11.1999' '15.11.1999']

我想要做的是获得相同的数组,但只包含最后 4 位数字(年份)。 知道我该怎么做吗?

谢谢,

大卫

我想删除最后 4 个(年份)旁边的所有字符,但使用 [-4:] 我得到我的 numpy 数组的最后 4 个条目。

【问题讨论】:

    标签: python arrays numpy


    【解决方案1】:

    andatum[i] 将引用数组中的项目。要引用这些项目的单个字符,您需要使用多个括号,如andatum[i][x]

    要获得仅包含最后 4 个字符的数组,您需要像这样遍历数组的每个项目:

    for i in range(len(andatum)):
        andatum[i] = andatum[i][:-4]
    

    或者为了让事情更整洁,这个 oneliner 也应该做这个工作:

    andatum = [x[:-4] for x in andatum]

    【讨论】:

      猜你喜欢
      • 2016-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-19
      • 1970-01-01
      • 2021-07-03
      相关资源
      最近更新 更多