labels = np.array(labels)
print(labels)
y = np.zeros(labels.shape)
print(y)
''' 标签转换为0/1 '''
y[labels == 'fat'] = 1
y在经历np.zeros之后,不应该成一个只有0的变量了吗?标签转换为0/1下,为什么y还有labels?
用法:zeros(shape, dtype=float, order='C')
返回:返回来一个给定形状和类型的用0填充的数组;
参数:shape:形状
你这代码不全啊,labels应该是个数组
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
labels == 'fat',返回的是一个布尔数组,用这个布尔数组去筛选y数组并对选中的元素赋值。这在NumPy是最常见的用法。
>>> import numpy as np
>>> labels = ['fat', 'thin', 'fat', 'thin']
>>> labels = np.array(labels)
>>> labels
array(['fat', 'thin', 'fat', 'thin'], dtype='<U4')
>>> y = np.zeros(labels.shape)
>>> y
array([0., 0., 0., 0.])
>>> labels == 'fat'
array([ True, False, True, False])
>>> y[labels == 'fat'] = 1
>>> y
array([1., 0., 1., 0.])