我需要在文件中创建一个图形而不在IPython笔记本中显示它.我不是之间的相互作用明确IPython,并matplotlib.pylab在这方面.但是,当我调用pylab.savefig("test.png")当前数字时,除了保存之外,还会显示test.png.当自动创建大量绘图文件时,这通常是不合需要的.或者在需要由另一个应用程序进行外部处理的中间文件的情况下.
不确定这是笔记本matplotlib还是IPython笔记本问题.
T(i) = Tm(i) + (T(i-1)-Tm(i))**(-tau(i))
Run Code Online (Sandbox Code Playgroud)
Tm并且tau是先前已经计算过的具有相同长度的NumPy向量,并且期望创建新向量T.在i它只是为了说明什么是想要的元素索引.
这种情况需要for循环吗?
如果我有两个不同大小的numpy数组,我怎么能叠加它们.
a = numpy([0, 10, 20, 30])
b = numpy([20, 30, 40, 50, 60, 70])
Run Code Online (Sandbox Code Playgroud)
添加这两个向量以生成新向量(20,40,60,80,60,70)的最简洁方法是什么?
这是我的一般性问题.对于背景,我特别应用了格林变换函数,并且需要将每个时间步骤的结果叠加到先前累积的响应中.
假设我们有一个数组
a = np.array([10,30,50, 20, 10, 90, 0, 25])
Run Code Online (Sandbox Code Playgroud)
我想要的伪代码 -
if a[x] > 80 then perform funcA on a[x]
if 40 < a[x] <= 80 then perform funcB on a[x]
if a[x] <= 40 then perform funcC on a[x]
Run Code Online (Sandbox Code Playgroud)
使用numpy函数执行此操作的最简洁方法是什么?
我除了2.7之外还要安装Python 2.7.再次为2.7安装PyTables时,我收到此错误 -
HDF5_DIR环境变量或使用--hdf5命令行选项明确说明可以找到本地HDF5标头和库的位置.我不清楚HDF安装.我再次下载 - 并将其复制到/ usr/local/hdf5目录中.并尝试按照PyTable安装中的建议设置环境变量.有没有其他人有这个问题可以帮助?
我正在尝试使用外部css文件为具有IPython输出单元格的html表输出设置样式.我想帮助理解如何做到这一点并创建了几个用于探索的测试用例.内联或外部样式都不像我期望的那样 -
我希望做的外部:
htmlstr = "<html><head><link rel='stylesheet' type=\"text/css\" href=\"local.css\"></head><body>TEST BODY</body></html>"
HTML(htmlstr)
Run Code Online (Sandbox Code Playgroud)
该文件似乎没有被读取.我尝试过不同的路径并移动文件; 但是,它似乎没有得到承认.
内部造型:
htmlstr = "<html><head><style>body {background-color:yellow;}</style></head><body>TEST BODY</body></html>"
HTML(htmlstr)
Run Code Online (Sandbox Code Playgroud)
在IPython中执行此操作会改变IPython本身的背景.这是所有IPython的背景更改为黄色,输入单元格保持白色.哪个很酷; 但是,我想为特定输出设置样式.而且,我想将CSS存储在外部文件中.有人可以帮我理解这种行为吗?
IPython非常适合提供许多可能性,并且有可能为我的需求提供更好的途径.
在 jupyter notebook 中,有没有办法在每个内联 matplotlib 图形下方添加乳胶图形标题?这是需要的,以便在运行 nbconvert --to latex 时对每个数字进行注释。
但我不清楚如何相对于以 \begin{verbatim} 块结束的图形定位 LaTeX。我可以将它放在情节之后的降价单元格中;但是,这并没有像我想要的那样包裹这个数字。
当执行状态很重要的基于时间的计算时,numpy数组提供了什么。换句话说,序列中较早或较晚发生的情况很重要。
考虑以下基于时间的向量,
TIME = np.array([0., 10., 20., 30., 40., 50., 60., 70., 80., 90.])
FLOW = np.array([100., 75., 60., 20.0, 60.0, 50.0, 20.0, 30.0, 20.0, 10.0])
TEMP = np.array([300., 310., 305., 300., 310., 305., 310., 305., 300., 295.0])
Run Code Online (Sandbox Code Playgroud)
假设一旦FLOW降到30以下,而不是再次升高到50以上,就应该应用TEMP的指数衰减。在上面的数据中,将在TIME = 60处应用一个函数,并以此更新TEMP的最后两个值次要功能将从相应的TEMP值开始。
需要“向前看”以确定在请求<30条件后,元件中的FLOW是否上升到50以上。似乎numpy函数不是针对状态重要的基于时间的向量,而嵌套for循环的传统方法也许仍然是要走的路。但是考虑到我对numpy的新颖性以及我必须执行这些类型的基于状态的操作的事实,我将对指导或肯定表示赞赏。
我有一个在eclipse中开发的python项目.独立地,在各个位置存在各种数据目录,并且希望在每个数据目录上操作具有main.py导入python项目的不同的数据目录.如果我main.py用我的数据存储一个,我如何在eclipse中打开它并运行调试器?
我可以在每个目录中运行ipython而不会出现问题; 但是,我不清楚如何main.py在eclipse中的不同文件之间移动.运行配置允许您走出项目之外,我宁愿不必每次都改变它.任何见解都会很棒!
当使用字典或类进行模式定义来调用createTable()时,似乎PyTable列按字母顺序排列.我需要建立一个特定的订单,然后使用numpy.genfromtxt()从文本中读取和存储我的数据.我的文本文件没有按字母顺序包含变量名称,因为它们适用于PyTable.
例如,假设文本文件名为mydata.txt,并按如下方式组织:
time(row1)bVar(row1)dVar(row1)aVar(row1)cVar(row1)
time(row2)bVar(row2)dVar(row2)aVar(row2)cVar(row2)...
time(rowN)bVar(rowN)dVar(rowN)aVar(rowN)cVar(rowN)
因此,希望创建一个使用这些列排序的表,然后使用numpy.genfromtxt命令填充表.
# Column and Table definition with desired order
class parmDev(tables.IsDescription):
time = tables.Float64Col()
bVar = tables.Float64Col()
dVar = tables.Float64Col()
aVar = tables.Float64Col()
cVar = tables.Float64Col()
#...
mytab = tables.createTable( group, tabName, paramDev )
data = numpy.genfromtxt(mydata.txt)
mytab.append(data)
Run Code Online (Sandbox Code Playgroud)
这是期望的,因为它是简单的代码并且非常快.但是,PyTable列始终按字母顺序排序,附加数据按照所需顺序排序.我错过了一些基本的东西吗?有没有办法让表列的顺序遵循类定义顺序而不是按字母顺序排列?
当前面带#和任意数量的空格时,需要排除使用正则表达式定位的块.这是一个示例文件
&START A=23 ... more data ...
B=24 &END
# &START A=34 ... more data ...
B=24 &END
&START .... block 3 of data across multiple lines .... &END
&START .... block 4 of data across multiple lines .... &END
Run Code Online (Sandbox Code Playgroud)
以下正则表达式不会像我预期的那样排除注释条目 -
(?!#\s*)&START(.+?)&END
Run Code Online (Sandbox Code Playgroud)
希望遍历条目和文件以进行处理.执行此操作的Python代码(除了通过注释行之外,它的效果很好) -
f=open(filename)
data=f.read()
f.close()
pattern=re.compiler(r'(?!#\s*)&START(.+?)&END, re.DOTALL)
get_entries = pattern.findall
for entry in get_entries(data):
# process the entry
print entry
Run Code Online (Sandbox Code Playgroud)
可能是一个基本的疏忽,因为在正则表达式方面我是绿色的.非常感谢能够提出建议的任何人.