我有三种方法来做一些简单的计算。2种方法正在回归
nd-array
1方法返回
1d-array
.稍后,我将基于这些方法的返回输出创建一个pandas数据帧。
在创建熊猫数据框架的同时,我也在计算
std
根据方法的结果。对于
nd阵列
我需要使用
axis=0
和
axis=1
算计
性病
但是对于
一维阵列
,我不能使用
axis
财产。
这意味着我需要使用
if-else
算计
性病
对于不同的方法返回。下面的代码运行良好
def main_fn(arr_1):
all_result_summary = []
for method in ["met_1", "met2", "met_3"]:
results: ndarray = np.array(main_fn(list(arr_1), method))
if method == "met_3":
all_result_summary.append(
pd.DataFrame(
{
"Method": method,
"result": results.mean(),
"result_sd_ax_0": results.std(ddof=1),
"result_sd_ax_1": "NA",
},
index=[0],
)
)
else:
all_result_summary.append(
pd.DataFrame(
{
"Method": method,
"result": results.mean(),
"result_sd_ax_0": results.mean(axis=0).std(ddof=1),
"result_sd_ax_1": results.mean(axis=1).std(ddof=1),
},
index=[0],
)
)
summary = pd.concat(all_result_summary, axis=0, ignore_index=True)
return summary
然而,我想使用一种更具Python风格的方式,而不是使用
否则
.还有其他优化代码的方法吗?