我正在努力学习一些Python图形可视化.我发现了一些博客文章做了一些 我想尝试的事情.不幸的是我没有走得太远,遇到这个错误:AttributeError: 'module' object has no attribute 'graphviz_layout'
在我的系统上重现错误的最简单的代码片段是这样的,
In [1]: import networkx as nx
In [2]: G=nx.complete_graph(5)
In [3]: nx.draw_graphviz(G)
------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-3-481ad1c1771c> in <module>()
----> 1 nx.draw_graphviz(G)
/usr/lib/python2.7/site-packages/networkx/drawing/nx_pylab.pyc in draw_graphviz(G, prog, **kwargs)
982 See networkx.draw_networkx() for a description of optional keywords.
983 """
--> 984 pos = nx.drawing.graphviz_layout(G, prog)
985 draw(G, pos, **kwargs)
986
AttributeError: 'module' object has no attribute 'graphviz_layout'
Run Code Online (Sandbox Code Playgroud)
熊猫新手,也许我错过了一个大创意?我有一个Pandas DataFrame的寄存器事务,其形状如下(500,4):
Time datetime64[ns]
Net Total float64
Tax float64
Total Due float64
Run Code Online (Sandbox Code Playgroud)
我正在使用Python3 Jupyter笔记本中的代码.我无法通过排序任何列.通过不同的代码示例进行排序,我在检查df时没有看到输出重新排序.所以,我把问题简化为尝试只订购一列:
df.sort_values(by='Time')
# OR
df.sort_values(['Total Due'])
# OR
df.sort_values(['Time'], ascending=True)
Run Code Online (Sandbox Code Playgroud)
无论使用哪个列标题或使用哪个布尔参数,显示的结果都不会改变顺序.
我以为这可能是一个Jupyter的事情,我已经使用预览的结果print(df),df.head()和HTML(df.to_html())(最后一个例子是Jupyter笔记本电脑).我还将整个笔记本从导入CSV重新运行到此代码.而且,我也是Python3的新手(从2.7开始),所以我有时会陷入困境,但我不知道在这种情况下它是如何相关的.
另一篇文章有类似的问题,Python pandas dataframe sort_values不起作用.在那种情况下,排序是在列类型上string.但正如您所看到的,这里的所有列都是明确可排序的.
为什么我的Pandas DataFrame不显示新订单sort_values?
我正在寻找一种环境确实从 root 继承的解决方案,但寻找答案似乎有很多困惑。许多 OP 问题认为他们正在继承包,而实际上并非如此。所以,搜索结果找到了这些问题,但答案有反解(或者只是解释他们错了)。
也就是说,一个 OP 实际上有一个类似的目标。可以跨 Anaconda 环境共享包吗?这个 OP 说他们的硬盘空间不足。“共享”的含义应该在新环境中使用相同的安装包。答案(不接受)是使用--clone.
我还发现了这篇文章,新创建的 conda envs 是否从基础 env 继承所有包?它说不--clone共享包。在这篇文章中,OP 认为他们的新环境“共享”了包,然后得出“共享”包不存在的结论。
非分离anaconda环境有什么用?
我测试了--clone标志和 Conda Docs 指令以“构建相同的环境”选项。两个 env 目录具有相同的大小:2G+。
(base) $ conda list --explicit > spec-file.txt
# Produced Size On Disk: 2.14 GB (2,305,961,984 bytes)
(base) conda create --name myclone --clone root
# Produced Size On Disk, clone: 2.14 GB (2,304,331,776 bytes)
Run Code Online (Sandbox Code Playgroud)
唯一的区别是构建相同的环境再次下载包,克隆复制本地文件所需的时间要少得多。
我使用 Miniconda 将 CLI …
一年后重新使用 iPython Notebooks,[我安装了我的发行版 Jupyter,现在] Jupyter 启动时没有菜单栏。我猜我的一些旧设置正在延续。我猜解决这个问题的最快方法是 .bak 旧配置文件并创建一个新的默认值。
首先,根据有关如何设置多个 Jupyter 配置文件的说明初始化 Jupyter 配置文件:
$ jupyter notebook --generate-config
Run Code Online (Sandbox Code Playgroud)
然后,[经过进一步调查] 我创建了一个新的 iPython 配置文件,
$ ipython profile create foo
Run Code Online (Sandbox Code Playgroud)
我按照找到的建议重命名profile_foo为profile_default. 然后,
仍然没有重置为“出厂”。我错过了什么?
更新:[编辑] 另外,我重新排序了我实际重建配置文件的步骤——如果有一些设置的传播,顺序很重要(哈哈。也许我正在重新创建不正确的顺序......?)
我可以在BASH中获得一些基本的MySQL命令吗?show,描述为初学者.我正在解决几个数据库的问题,我希望将它们与日益增加的特异性进行比较.转储信息太多了.
如何使用 numpy累加器并添加函数以按列添加数组以制作基本累加器?
import numpy as np
a = np.array([1,1,1])
b = np.array([2,2,2])
c = np.array([3,3,3])
two_dim = np.array([a,b,c])
y = np.array([0,0,0])
for x in two_dim:
y = np.add.accumulate(x,axis=0,out=y)
return y
Run Code Online (Sandbox Code Playgroud)
实际输出:[1,2,3]
期望输出:[6,6,6]
numpy 词汇表表示沿轴参数的axis=1总和对行求和:“我们可以对数组的每一行求和,在这种情况下,我们沿列或轴 1 进行运算”。
“二维数组有两个对应的轴:第一个垂直向下跨行(轴 0),第二个水平跨列(轴 1)”
随着axis=1我期望输出[3,6,9],但这也会返回[1,2,3]。
当然!x 和 y 都不是二维的。
我究竟做错了什么?
我可以手动使用 np.add()
aa = np.array([1,1,1])
bb = np.array([2,2,2])
cc = np.array([3,3,3])
yy = np.array([0,0,0])
l = np.add(aa,yy) …Run Code Online (Sandbox Code Playgroud) 我的 DataFrame 管道需要处理空的和格式错误的结果,我添加了一个测试df.empty()并遇到了这个错误:
(Pdb) isinstance(tabledf, pd.DataFrame)
True
(Pdb) tabledf.empty()
*** TypeError: 'bool' object is not callable
(Pdb) tabledf
From Location Account Description Value TableName
0 NaN NaN nan TOTAL 0 countreport
(Pdb) tabledf.shape
(1, 6)
Run Code Online (Sandbox Code Playgroud)
很明显,这个例子 DF 会返回False,因为它不是空的(我只会测试一行)但现在我很好奇为什么我得到这个错误它不是bool.
csv模块实现用于以CSV格式读取和写入表格数据的类。它使程序员可以说“以Excel首选的格式写入此数据”,或“从Excel生成的此文件中读取数据”,而无需知道Excel使用的CSV格式的确切细节。
如果我想知道怎么办?
除了开玩笑,我想特别知道哪些属性和设置将创建方言 csv.excel_tab
Dialect.delimiter
一个用于分隔字段的单字符字符串。
Dialect.doublequote
控制出现在字段中的quotechar实例本身应如何被引用。
Dialect.escapechar
如果将引号设置为QUOTE_NONE,则编写器使用一个单字符字符串来转义分隔符,如果双引号设置为False,则使用quotechar。
Dialect.lineterminator
用于终止作者产生的行的字符串。默认为“ \ r \ n”。
Dialect.quotechar
一个单字符字符串,用于引用包含特殊字符(例如定界符或quotechar)或包含换行符的字段。
Dialect.quoting
控制引号何时由作者生成并由读者识别。它可以采用任何QUOTE_ *常量(请参见模块内容),并且默认值为QUOTE_MINIMAL。
Dialect.skipinitialspace
如果为True,则将忽略定界符之后的空格。默认值为False。
Dialect.strict
如果为True,则在CSV输入错误时引发异常Error。默认值为False。
我没看到什么?该RTD功能页说:
PDF生成
当您在RTD上构建项目时,我们会自动生成您的项目文档的PDF。我们还会为您上传的每个版本构建它们,因此我们可以托管您最新文档的PDF,以及您最新的稳定版本。
但是,您如何找到PDF版本?一项网络搜索找到了这则2012年博客文章,作者说:
例如,以下是Django-Tastypie的PDF文档的网址:
Run Code Online (Sandbox Code Playgroud)http://media.readthedocs.org/pdf/django-tastypie/latest/django-tastypie.pdf您可以将django-tastypie替换为任何Read Docs项目的子弹。
然而,RTD不允许用户通过URL来浏览网站的目录树:http://media.readthedocs.org/pdf/[project slug]/,GET是我403 FORBIDDEN!至少对于项目CookieCutter。
我已经阅读了openpyxl、xlwt、xlrd、xlutils、xlsxwriter 的文档。我找不到在Excel 工作簿中移动工作表的方法。测试在末尾添加了一个工作表。
具体来说,我有各种各样的日历,['JAN','FEB',...,'DEC']我需要根据需要替换月份。
如果不移动它们,如何对 Excel 工作簿中的工作表进行排序?您可以在指定工作表之后或之前插入工作表吗?
我只能找到一篇关于 SO用途win32com和的帖子Book.Worksheets.Add(After=Sheet);这些模块都没有这种方法似乎很奇怪。
默认似乎在工作簿末尾添加工作表。我可以复制目标文件,直到到达更新的工作表,插入新工作表,然后继续原始副本到最后。(灵感来自这篇文章)