1
stdev = 3   
value_1 = array   
value_2 = array   
value_3 = array

for h in range(1,4):  
    name = ('value' + str(h))  
    globals()['new_name_'+ str(h)] = np.mean(name) * stdev  

它应该给出如下内容:

new_name_1 = #result1   
new_name_2 = #result2   
new_name_3 = #result3 

但是,np.mean()不适用于str.
我尝试使用 unicode 和其他东西。
我必须results(new name)使用globals(). 有人知道怎么做吗?

4

1 回答 1

0

您可以使用列表来保留您的数组:

stdev = 3   
my_list = [array_1, array_2, array_3]
new_vars = []

for arr in my_list:  
    new_vars.append(np.mean(arr) * stdev)

此外,您可以使用 dict 保留变量:

stdev = 3   
my_dict = {
    'value_1': array_1, 
    'value_2': array_2,
    'value_3': array_3}

new_vars = {}

for var_name, arr in my_dict.items():  
    new_vars[f'new_{var_name}'] = np.mean(arr) * stdev
于 2020-01-03T13:27:54.727 回答