我正在使用Google Colaboratory笔记本.我上传了一个名为bp.png工作目录的文件,我可以通过!ls在代码单元格中运行来查看该文件.然后我尝试这段代码在markdown单元格中查看图像:
<h2 align="center">Image</h2>
<img src="bp.png" width="600">
Run Code Online (Sandbox Code Playgroud)
但是Colab笔记本的单元格在运行之后保持空白(除了标题),尽管如果我在本地Jupyter笔记本中运行它,图像确实出现在本地笔记本的单元格中.
更新:
我知道我可以使用上传到工作目录中的文件,因为我的自定义.py,我上传,文件被导入到我的笔记本电脑Colab没有任何问题.例如,我可以上传一个文件py_file.py,然后在Colab笔记本中使用它from py_file import some_function,它就可以了.
我正在尝试使用'pandas.read_sql_query'将数据从MS SQL Server复制到pandas DataFrame中.我需要在我的SQL查询中进行多个连接.要连接的表位于同一服务器上,但位于不同的数据库中.我传递给pandas的查询在MS SQL Server Management Studio中运行良好.在Jupyter笔记本中,我试图像这样查询数据(为了使事情可读,查询本身被简化为仅2个连接并使用通用名称):
import pandas as pd
import sqlalchemy as sql
import pyodbc
server = '100.10.10.10'
driver = 'SQL+Server+Native+Client+11.0'
myQuery = '''SELECT first.Field1, second.Field2
FROM db1.schema.Table1 AS first
JOIN db2.schema.Table2 AS second
ON first.Id = second.FirstId
'''
engine = sql.create_engine('mssql+pyodbc://{}?driver={}'.format(server, driver))
df = pd.read_sql_query(myQuery, engine)
Run Code Online (Sandbox Code Playgroud)
这不起作用并返回错误:
DBAPIError: (pyodbc.Error) ('IM010', '[IM010] [Microsoft][????????? ????????? ODBC] ??????? ??????? ??? ????????? ?????? (0) (SQLDriverConnect)')
Run Code Online (Sandbox Code Playgroud)
似乎问题出在引擎中,不包含有关数据库的信息,因为一切都可以正常使用下一种代码,我在引擎中包含了数据库:
myQuery = 'select Field1 from schema.Table1'
db = 'db1'
engine = sql.create_engine('mssql+pyodbc://{}/{}?driver={}'.format(server, db, driver)) …Run Code Online (Sandbox Code Playgroud) 我有两个 scipy 矩阵“a”和“b”,其中包含布尔值。“a”比“b”大得多:765565 个值,而只有 3 个值。
\n\nIn\xc2\xa0[211]: a\nOut[211]: <388839x8455 sparse matrix of type '<class 'numpy.bool_'>'\n with 765565 stored elements in Compressed Sparse Row format>\nIn\xc2\xa0[212]: b\nOut[212]: <5x3 sparse matrix of type '<class 'numpy.bool_'>'\n with 3 stored elements in Compressed Sparse Row format>\nRun Code Online (Sandbox Code Playgroud)\n\n但是当我根据内存使用情况检查它们的大小时,我发现它们都只有 56 字节:
\n\nIn\xc2\xa0[213]: from sys import getsizeof\n 'Size of a: {}. Size of b: {}'.format(getsizeof(a), getsizeof(b))\nOut[213]: 'Size of a: 56. Size of b: 56'\nRun Code Online (Sandbox Code Playgroud)\n\n为什么这些矩阵的大小相同,而矩阵“a”必须存储比矩阵“b”多 20 万倍的值?
\n我想将 float 类型的列中的所有值放入重叠的容器中。生成的列可能是一系列带有布尔值的一维向量 - 一个向量对应原始列中的每个值。生成的向量包含True每个 bin 的值以及False其他 bin 的值。
例如,如果我有四个 bin [(0, 10), (7, 20), (15, 30), (30, 60)],并且原始值为 9.5,则结果向量应该为[True, True, False, False]。
我知道如何使用“apply”使用自定义函数迭代所有范围,但是有没有办法更有效、更简洁地执行此分箱?
我正在尝试重现Netflix 最近关于产品 Vectorflow 的文章中提到的设置。
他们使用 Hive 中的 parquet 文件作为数据源。我想用 scipy 的稀疏矩阵生成一些假数据。如何将这样的矩阵保存到镶木地板文件中?
我有一个scipy csr_matrix,它是按照文档中的指定方式创建的:
import numpy as np
from scipy.sparse import csr_matrix
row = np.array([0, 0, 1, 2, 2, 2])
col = np.array([0, 2, 2, 0, 1, 2])
data = np.array([1, 2, 3, 4, 5, 6])
mtr = csr_matrix((data, (row, col)))
mtr.toarray()
array([[1, 0, 2],
[0, 0, 3],
[4, 5, 6]])
Run Code Online (Sandbox Code Playgroud)
如何有效地将这样的矩阵mtr回到初始三个列表row,col和data?
Apple在其最新的操作系统中将shell 从 更改bash为zsh,所以我现在正在尝试修复我的终端提示:(。
我希望我的提示只包含:
~ 如果我在主目录中$和最后一个空格我曾经在我的这个剧本.bash_profile时,我使用bash:
# Git branch in prompt.
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}
export PS1="\[\033[33;1m\]\W\[\033[32m\]\$(parse_git_branch)\[\033[m\]\$ "
export CLICOLOR=1
export LSCOLORS=ExFxBxDxCxegedabagacad
alias ls='ls -GFh'
Run Code Online (Sandbox Code Playgroud)
我重命名.bash_profile为.zprofile,但除ls部分外,所有这些都不再起作用。
我如何使这项工作再次发挥作用?
我有一个数字列表:
numbers = [1, 2, 3, 4].
我想有一个列表,他们重复这样的n时间(for n = 3):
[1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4].
问题是我只想用itertools它,因为我的性能受到很大限制.
我试着用这个表达式:
list(itertools.chain.from_iterable(itertools.repeat(numbers, 3)))
但它给了我这样的结果:
[1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]
这显然不是我需要的.
有没有办法itertools只使用,而不使用排序,循环和列表推导?我能得到的最接近的是:
list(itertools.chain.from_iterable([itertools.repeat(i, 3) for i in numbers])),
但它也使用列表理解,我想避免.