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()。有人知道怎么做吗?

最佳答案

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

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

关于python - 我可以在np.mean()中使用str吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59579316/

10-09 13:43