Python 为什么我一个也没有?我正试图得到一个标准偏差列表

Python 为什么我一个也没有?我正试图得到一个标准偏差列表,python,list,numpy,for-loop,Python,List,Numpy,For Loop,我的目标是从数据中得到一个标准偏差列表。我在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)) 它将返回此

我的目标是从数据中得到一个标准偏差列表。我在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'
AttributeError回溯(最近一次调用)
在里面
对于范围(0,13)内的i,为3:
4b=[np.std(trainx[trainy==1,i])]
---->5 a=a.附加(b)
6印刷品(a)
AttributeError:“非类型”对象没有属性“附加”
请帮帮我。也欢迎使用其他方法。

不会返回
列表。它仅将对象附加到
列表中
。要在附加后获取列表,只需访问列表

a=[]
对于范围(0,13)内的i:
b=[np.std(trainx[trainy==1,i])]
a、 附加(b)
印刷品(a)
不返回
列表。它仅将对象附加到
列表中
。要在附加后获取列表,只需访问列表

a=[]
对于范围(0,13)内的i:
b=[np.std(trainx[trainy==1,i])]
a、 附加(b)
印刷品(a)

append()
方法总是返回
None
。您需要
a.append(b)
在循环内,而
print(a)
在循环外。追加到列表不会返回列表或任何内容:它返回
None
。然而,该列表本身被修改了。在循环外部打印列表。
append()
方法始终返回
None
。您需要
a.append(b)
在循环内,而
print(a)
在循环外。追加到列表不会返回列表或任何内容:它返回
None
。然而,该列表本身被修改了。打印循环外部的列表。