这似乎是一个无用的功能,但它对我非常有帮助.我想保存Canopy IDE中的输出.我不认为这是Canopy特有的,但为了清楚起见,这就是我使用的.例如,我的控制台Out [2]是我想要的:
我认为格式化非常好并且每次重现这一点而不仅仅是保存输出将是浪费时间.所以我的问题是,我怎样才能掌握这个数字呢?理想情况下,实施方式与标准方法类似,因此可以这样做:
from matplotlib.backends.backend_pdf import PdfPages
pp = PdfPages('Output.pdf')
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
df.plot(how='table')
pp.savefig()
pp.close()
Run Code Online (Sandbox Code Playgroud)
注意:我意识到之前已经问过一个非常类似的问题(如何将Pandas数据帧/系列数据保存为数字?)但它从未收到答案,我想我已经更清楚地说明了这个问题.
如何在Canopy Enthought中使用Python 3?它有底部的选项来选择Python 3,但是当我们使用时,这不会改变任何东西:
print(sys.version)
2.7.3 | 32-bit | (default, Mar 25 2013, 15:38:39) [MSC v.1500 32 bit (Intel)]
Run Code Online (Sandbox Code Playgroud) 我在Canopy中使用matplotlib库,具体功能是xkcd().此功能使用特定字体绘制图表.字体是Comic Sans MS,如果不存在,应该下载.
/home/luis/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/matplotlib/font_manager.py:1236: UserWarning: findfont: Font family ['Humor Sans', 'Comic Sans MS'] not found. Falling back to Bitstream Vera Sans (prop.get_family(), self.defaultFamily[fontext]))
Run Code Online (Sandbox Code Playgroud)
我使用下面的小脚本,它检查字体的存在/不存在.如果不存在,则下载它.
import os
import urllib2
if not os.path.exists('Humor-Sans.ttf'):
fhandle = urllib2.urlopen('http://antiyawn.com/uploads/Humor-Sans-1.0.ttf')
open('Humor-Sans.ttf', 'wb').write(fhandle.read())
Run Code Online (Sandbox Code Playgroud)
问题是我仍然没有得到正确的字体来显示.如果字体缓存出现问题,我会执行以下操作:
luis@luis-VirtualBox:~$ rm /home/luis/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/matplotlib/fontList.cache
Run Code Online (Sandbox Code Playgroud)
获得以下内容:
rm: cannot remove ‘/home/luis/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/matplotlib/fontList.cache’: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
我正在使用openpyxl
包Python(Canopy)
来使用excel文件.我们在此链接中有本教程:LINK
you can also use the openpyxl.worksheet.Worksheet.iter_rows() method:
>>> tuple(ws.iter_rows('A1:C2'))
((<Cell Sheet1.A1>, <Cell Sheet1.B1>, <Cell Sheet1.C1>),
(<Cell Sheet1.A2>, <Cell Sheet1.B2>, <Cell Sheet1.C2>))
>>> for row in ws.iter_rows('A1:C2'):
... for cell in row:
... print cell
<Cell Sheet1.A1>
<Cell Sheet1.B1>
<Cell Sheet1.C1>
<Cell Sheet1.A2>
<Cell Sheet1.B2>
<Cell Sheet1.C2>
Run Code Online (Sandbox Code Playgroud)
我们如何openpyxl.worksheet.Worksheet.iter_rows()
在python中导入方法?我用过这段代码:
import openpyxl as op
ms = op.load_workbook('mtest.xlsx')
ws = ms.active
op.worksheet.Worksheet.iter_rows()
Run Code Online (Sandbox Code Playgroud)
此代码返回:
type object 'Worksheet' has no attribute 'iter_rows'
Run Code Online (Sandbox Code Playgroud)
问题是什么?
在1.5.5.3123版机盖上运行
Folium版本:0.1.2,内部版本:1
下面的代码;
import folium
import pandas as pd
LDN_COORDINATES = (51.5074, 0.1278)
from IPython.display import HTML
import shapefile
#create empty map zoomed in on London
LDN_COORDINATES = (51.5074, 0.1278)
map = folium.Map(location=LDN_COORDINATES, zoom_start=12)
display(map)
Run Code Online (Sandbox Code Playgroud)
退货
<folium.folium.Map at 0x10c01ae10>
Run Code Online (Sandbox Code Playgroud)
但没有别的。
如何在ipython笔记本中显示地图?
我刚刚升级到Canopy 1.7.1; 我认为这个问题源于IPython版本从2.4.1到4.1.2的变化.
我遇到的问题是在Python中调用DataFrame对象似乎使用该__print__
方法,即在输入print df
和df
解释器之间没有区别,不幸的是,这给了我一个全文输出而不是我通常得到的好表.
所以当我打电话df
而不是桌子时,我得到的东西看起来就像这样:
date flag
1 20151102 0
98663 20151101 1
Run Code Online (Sandbox Code Playgroud)
这在升级后立即发生,我也尝试更新我的所有包.我也看过这个和这个,但没有一个解决方案适合我.('display.notebook_repr_html'
已经True
)
编辑:问题似乎与渲染HTML有关; 打字
from IPython.core.display import display, HTML
display(HTML('<h1>Hello, world!</h1>'))
Run Code Online (Sandbox Code Playgroud)
回报
<IPython.core.display.HTML object>
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用python读取文件,我不断收到此错误
ERROR: Line magic function `%user_vars` not found.
Run Code Online (Sandbox Code Playgroud)
我的代码非常简单
names = read_csv('Combined data.csv')
names.head()
Run Code Online (Sandbox Code Playgroud)
我在尝试阅读或打开文件的任何时候都会得到这个.我尝试使用这个帖子寻求帮助.
我正在使用enthought冠层,我有IPython版本2.4.1.我确保使用IPython安装页面进行更新以获取帮助.我不确定什么是错的,因为打开/读取文件应该非常简单.我甚至因打开文本文件而出现此错误.
编辑:
我导入了traceback并使用了
print(traceback.format_exc())
Run Code Online (Sandbox Code Playgroud)
但我得到的只是没有打印.我不确定这意味着什么.
我安装了EPD 7.3.1(现在称为Enthought Canopy),它带有scikit-learn v 0.11.我正在运行Ubuntu 12.04.我需要安装v 0.12的scikit-learn.
scikit-learn doc说克隆存储库,将scikit-learn目录添加到PYTHONPATH,然后构建扩展:python setup.py build_ext --inplace
问题是EPD是它自己封闭的世界(有多个scikit dirs):
./lib/python2.7/site-packages/scikits/
./lib/python2.7/site-packages/sklearn
然后是:
./EGG-INFO/scikit_learn/
我真的不想尝试,因为花了很长时间才把事情调到这一点.在这种情况下,我应该遵循scikit-learn的指示吗?
我正在尝试用一种腌制DataFrame
import pandas as pd
from pandas import DataFrame
data = pd.read_table('Purchases.tsv',index_col='coreuserid')
data.to_pickle('Purchases.pkl')
Run Code Online (Sandbox Code Playgroud)
我已经运行了一段时间的"数据"并且没有任何问题所以我知道这不是数据损坏问题.我想的可能是语法,但我尝试了很多变种.我犹豫是否给出了整个错误消息,但它结束于:
\pickle.pyc in to_pickle(obj, path)
13 """
14 with open(path, 'wb') as f:
15 pkl.dump(obj, f, protocol=pkl.HIGHEST_PROTOCOL)
SystemError: error return without exception set
Run Code Online (Sandbox Code Playgroud)
如果我打电话,则会创建Purchases.pkl文件
data = pd.read_pickle('Purchases.pkl')
Run Code Online (Sandbox Code Playgroud)
我得到了EOFError.我正在使用Canopy 1.4所以pandas 0.13.1应该是最近才能拥有此功能.
我在Enthought Canopy下运行代码来打开并读取文件.它一直告诉我IOError.
但我很确定文本文件名是正确的,并且它与Python文件位于同一目录中,并且代码在其他IDE(如Python IDLE)中运行良好.不知道出了什么问题.有什么建议?
inFile = open('words.txt', 'r')
words = inFile.read().split()
Run Code Online (Sandbox Code Playgroud)
失败了 IOError: [Errno 2] No such file or directory: 'words.txt'
canopy ×10
python ×8
ipython ×4
enthought ×3
pandas ×3
matplotlib ×2
excel ×1
file-io ×1
folium ×1
openpyxl ×1
pickle ×1
python-3.x ×1
pythonpath ×1
scikit-learn ×1