首页 > 解决方案 > 尝试将 append_fields() 附加到 ndarray,没有错误但没有任何反应

问题描述

我正在尝试将一个新列附加到一个数组中,没有错误,但没有发生任何事情......请一位善良的灵魂告诉我我做错了什么?

import numpy as np
from numpy.lib import recfunctions
from numpy.lib.recfunctions import append_fields

#the_array = np.genfromtxt(file.csv, ...) dimensions 170 rows, 25 columns

jrows = np.ma.size(the_array)
the_field = np.zeros(jrows)
the_field[:] = 391
append_fields(the_array, 'minute', data = the_field)

#no errors, but nothing appended.

标签: pythonnumpy

解决方案


NumPy 中几乎没有任何东西会就地改变现有数组的结构。append_fields返回一个数组,您忽略并丢弃它。这确实应该在文档中提到,但是文档目前没有列出返回值,使它看起来应该是一个可变函数。

无论如何,不​​要忽略返回值:

new_array = append_fields(the_array, 'minute', data=the_field)

推荐阅读