我正在研究a finance document,并试图找出基于两次下降的多个结果创建结果的最佳方法。实际上,我正在尝试做的是根据两个下拉列表的组合创建不同的结果,即
如果(H2 =燃烧)和(I2 =是)这样做(xyz)
如果(H2 =燃烧)和(I2 =否)这样做(xyz)
如果(H2 =固定)和(I2 =是)这样做(xyz)
如果(H2 =固定)和(I2 =否)这样做(xyz)
我可以使用AND创建:
IF(AND(H2="Burn",I2="Yes"),(E2+C2-sum(K2:M2)),"No")
这给了我一个结果,第一行是真的,如果它是假的,但不是其他组合。一直在看嵌套的IF语句,但我无法让它工作。
有什么建议吗?
答案 0 :(得分:1)
这就是我想要的:
import tensorflow as tf
def cartesian_product(*args: tf.Tensor) -> tf.Tensor:
"""
Produce the cartesian product of arbitrary length vectors.
Parameters
----------
tf.Tensor args
vector of points of interest in each dimension
Returns
-------
tf.Tensor
the cartesian product of size [m x n] wherein:
m = prod([len(a) for a in args])
n = len(args)
"""
for i, a in enumerate(args):
tf.assert_rank(a, 1, message="arg {:d} is not rank 1".format(i))
return tf.concat([tf.reshape(xi, [-1, 1]) for xi in tf.meshgrid(*args)], axis=1)
答案 1 :(得分:0)
用适当的牙套将你的其他IF代替NO。 IF(X=Y, do this, (IF(X=Z), do this, (IF(X=A), do this, "NO")))