此应用功能有效,但我认为它无效;
xyz = data.apply(lambda row: pd.Series({"z":getNVC(row)[0],"y":getNVC(row)[1],"x":getNVC(row)[2]}),axis=1)
所以我基本上想要每行应用一次NVC函数并返回一个包含3个元素的np.array
。然后,我将这3个元素映射到新列x,y和z。但是,我想目前我正在调用该功能3次?
理想情况下,我想只调用一次,保存在变量的输出中,比如output
并将三个元素解压缩到列中。分配可能就像;
pd.Series({"z":output[0],"y":output[1],"x":output[2]})
答案 0 :(得分:0)
纯粹是通过创建dict
(输入到Series
),只调用getNVC
一次,以下内容可能会有效:
pd.Series( dict(zip("zyx", getNVC(row))) )