有没有办法选择*除了BigQuery中的[x,y,z列名称]?我看到MySQL的一些解决方案,但不确定它是否适用于BQ.
谢谢.
在Python中,我想编写一个列表解析来迭代2个字典的键的并集.这是一个玩具示例:
A = {"bruno":1, "abe":2}.keys()
B = {"abe":5, "carlton":10}.keys()
>>>[ k for k in A | B ]
Run Code Online (Sandbox Code Playgroud)
我收到错误:
Traceback (most recent call last)
<ipython-input-221-ed92ac3be973> in <module>()
2 B= {"abe":5, "carlton":10}.keys()
3
----> 4 [ k for k in A|B]
TypeError: unsupported operand type(s) for |: 'list' and 'list'
Run Code Online (Sandbox Code Playgroud)
理解对于1个词典来说效果很好.例如:
>>>[ k for k in A]
['bruno', 'abe']
Run Code Online (Sandbox Code Playgroud)
不确定错误在哪里.我在教科书中跟随一个例子,根据这本书,这种类型的并集和交集运算符应该可以正常工作.请让我知道你的想法.谢谢.
我有一个包含两列的简单表:UserID和Category,每个UserID可以重复几个类别,如下所示:
UserID Category
------ --------
1 A
1 B
2 C
3 A
3 C
3 B
Run Code Online (Sandbox Code Playgroud)
我想“虚拟化”该表:即创建一个输出表,该表的每个列都有由虚拟变量组成的唯一类别(0/1,取决于UserID是否属于该特定类别):
UserID A B C
------ -- -- --
1 1 1 0
2 0 0 1
3 1 1 1
Run Code Online (Sandbox Code Playgroud)
我的问题是我有数千个类别(在此示例中不只是3个类别),因此无法使用CASE WHEN语句有效地完成此操作。
所以我的问题是:
1)有没有一种方法可以在不使用数千个CASE WHEN语句的情况下“虚拟化” Google BigQuery中的Category列。
2)这是UDF功能正常工作的情况吗?看起来确实是这样,但是我对BigQuery中的UDF不够了解,无法解决此问题。有人可以帮忙吗?
谢谢。