返回此错误: 'numpy.ndarray'对象没有属性'append'
class1 = np.array([]) #creates 2 empty arrays
class2 = np.array([])
#yhat_tr is a vector(1 column, 100 rows) = numpy.ndarray
for i in yhat_tr:
if i < 0:
class1.append([i]) #insert the iten in the array class1 or class2
else:
class2.append([i])
我想在循环内对iten求值后立即在class1或class2数组中插入新的iten数组。 之后,我将尝试将结果打印在具有2种颜色的散点图上,以便可以直观地识别class1和class2元素。
答案 0 :(得分:1)
如@Alex所述,numpy数组没有append方法。您可以使用他的建议使用numpy append方法,或者您可以将类变量定义为列表,并在循环后使用append将它们转换为数组,如下面的代码所示。
class1 = []
class2 = []
#yhat_tr is a vector(1 column, 100 rows) = numpy.ndarray
for i in yhat_tr:
if i < 0:
class1.append([i]) #insert the iten in the array class1 or class2
else:
class2.append([i])
class1 = np.array(class1)
class2 = np.array(class2)
答案 1 :(得分:0)
快速浏览documentation会发现np.ndarray
对象没有功能append
,它是np
本身的功能:
class1 = np.append(class1, [i])
答案 2 :(得分:0)
您可以使用NumPy模块的append()方法添加NumPy数组元素。
append的语法如下:
ExternalTexture texture = new ExternalTexture();
// Create an Android MediaPlayer to capture the video on the external texture's surface.
SphericalSurfaceView view = new SphericalSurfaceView(this);
exoPlayer = ExoPlayerFactory.newSimpleInstance(this);
exoPlayer.setVideoSurface(texture.getSurface());
DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(this,
Util.getUserAgent(this, getResources().getString(R.string.app_name)));
MediaSource videoSource = new ExtractorMediaSource.Factory(dataSourceFactory).createMediaSource(
RawResourceDataSource.buildRawResourceUri(R.raw.video_360));
exoPlayer.prepare(videoSource);
exoPlayer.setRepeatMode(Player.REPEAT_MODE_ALL);
这些值将附加在数组的末尾,并且将返回一个新的ndarray,其中包含新的和旧的值,如上所示。
轴是一个可选的整数,沿着该整数定义如何显示数组。如果未指定轴,则数组结构将被展平
答案 3 :(得分:-1)