我的目标是有一个数据的标准偏差列表。我在 trainx 中有 13 列(特征),trainy 数组中有三个标签(1,2,3),分别对应 trainx 的每一行。我的目的是要找到一个标准差最小的特征。
我想先计算标签1的每个特征的标准差,将其追加到一个列表中,然后将找到最小标准差。我试着写了下面的代码块,但目前还没有成功。
a=[]
for i in range(0,13):
b=[np.std(trainx[trainy==1,i])]
print(a.append(b))
它返回的是这样的结果:
None
None
None
None
None
None
None
None
None
None
None
None
None
如果我试着写下面的代码:
a=[]
for i in range(0,13):
b=[np.std(trainx[trainy==1,i])]
a=a.append(b)
print(a)
它返回:
AttributeError Traceback (most recent call last)
<ipython-input-78-6b02e93115a0> in <module>
3 for i in range(0,13):
4 b=[np.std(trainx[trainy==1,i])]
----> 5 a=a.append(b)
6 print(a)
AttributeError: 'NoneType' object has no attribute 'append'
请帮助我。也欢迎其他方法。
list.append
不返回 list
. 它只将对象附加到 list
. 要想在追加后获得列表,只需访问列表即可。
a=[]
for i in range(0,13):
b=[np.std(trainx[trainy==1,i])]
a.append(b)
print(a)