我已经使用Jupyter笔记本几年了.我刚刚前往Jupyter实验室,但我发现缺乏捷径是一种负担.
例如,我注意到我可以在左侧调色板中搜索命令.但我似乎无法轻易将它们绑定到键盘快捷键.这甚至可能吗?
例如,我想用"O"折叠当前单元格输出,并用"Shift O"折叠所有代码单元格.
我有一个文件,每行有一个JSON.这是一个示例:
{
"product": {
"id": "abcdef",
"price": 19.99,
"specs": {
"voltage": "110v",
"color": "white"
}
},
"user": "Daniel Severo"
}
Run Code Online (Sandbox Code Playgroud)
我想用以下列创建一个镶木地板文件:
product.id, product.price, product.specs.voltage, product.specs.color, user
Run Code Online (Sandbox Code Playgroud)
我知道镶木地板使用Dremel算法进行嵌套编码,但我无法在python中使用它(不知道为什么).
我是一个沉重的熊猫和dask用户,所以我试图构建的管道是json data -> dask -> parquet -> pandas,虽然如果有人有一个简单的例子,使用Python在镶木地板中创建和读取这些嵌套编码我认为这样就足够了:D
编辑
所以,在挖掘PR之后我发现了这个:https://github.com/dask/fastparquet/pull/177
这基本上就是我想要做的.虽然,我仍然无法让它一直运作.我怎么告诉dask/fastparquet我的product列是嵌套的?
我正在使用 PySpark 使用 ALS 进行协作过滤。我的原始用户和项目 ID 是字符串,因此我过去常常StringIndexer将它们转换为数字索引(PySpark 的 ALS 模型要求我们这样做)。
安装模型后,我可以获得每个用户的前 3 个推荐,如下所示:
recs = (
model
.recommendForAllUsers(3)
)
Run Code Online (Sandbox Code Playgroud)
数据recs框看起来像这样:
+-----------+--------------------+
|userIdIndex| recommendations|
+-----------+--------------------+
| 1580|[[10096,3.6725707...|
| 4900|[[10096,3.0137873...|
| 5300|[[10096,2.7274625...|
| 6620|[[10096,2.4493625...|
| 7240|[[10096,2.4928937...|
+-----------+--------------------+
only showing top 5 rows
root
|-- userIdIndex: integer (nullable = false)
|-- recommendations: array (nullable = true)
| |-- element: struct (containsNull = true)
| | |-- productIdIndex: integer (nullable = true)
| | |-- rating: float (nullable = true) …Run Code Online (Sandbox Code Playgroud) python apache-spark apache-spark-sql pyspark apache-spark-ml
伟大的,考虑以下代码。
from abc import ABC, abstractmethod
class Interface(ABC):
@abstractmethod
def method(self) -> None:
pass
class A(Interface):
def method(self) -> None:
pass
class B(Interface):
def method(self) -> None:
pass
mapping = {'A': A, 'B': B}
# does NOT pass mypy checks
def create_map(param: str) -> Interface:
if param in mapping:
return mapping[param]()
else:
raise NotImplementedError()
# passes mypy checks
def create_if(param: str) -> Interface:
if param == 'A':
return A()
elif param == 'B':
return B()
else:
raise NotImplementedError()
Run Code Online (Sandbox Code Playgroud)
出于某种原因,create_if …
python ×3
abc ×1
apache-spark ×1
dask ×1
json ×1
jupyter ×1
jupyter-lab ×1
mypy ×1
parquet ×1
pyspark ×1