假设我有一个键值对列表:
kvs = [('x', 0), ('a', 1)]
现在,我想从kvs
创建一个与kvs
中相同键的Row
。
如何在Python
中进行操作?
我还没有运行它,但是如果失败后,您可以检查一次。
。from pyspark.sql import Row
kvs = [('x', 0), ('a', 1)]
h = {}
[h.update({k:v}) for k,v in kvs]
row = Row(**h)
您可以:
from pyspark.sql import Row
Row(*[k for k, _ in kvs])(*[v for _, v in kvs])
但我认为最好避免Row
。除了是代表从JVM后端获取的本地价值的方便类外,它在Spark中没有特殊的含义。在几乎所有情况下:
tuple(v for _, v in kvs)
是Row
的完全有效替代。