小编Mic*_*cis的帖子

导出单个iPython Jupyter笔记本电脑输出

我正在玩我的iPython笔记本格式化,以使它们更多地成为日志.display(HTML())构造的使用使得一切都很好并且相对容易组织.

我想在其他媒体中使用某些单元格的输出,例如演示文稿.我现在这样做的方法是截取该区域的截图,但随后一切都变成像素,并且没有可能的细化.

有没有办法以某种有用的格式呈现单个单元格的输出?

python jupyter-notebook

13
推荐指数
2
解决办法
5061
查看次数

Python3 - Sympy:扩展trig函数的产品

我找不到让SymPy将产品扩展cos(a)*cos(b)为角度和的三角函数之和的方法.

from sympy import *
init_printing()
wrf,wlo,t = symbols('\omega_RF \omega_LO t')
c = cos(wrf*t)*cos(wlo*t)
expand_trig(c)
Run Code Online (Sandbox Code Playgroud)

保持产品完好无损.simplify(c)或者trigsimp(c)也不提供任何替代形式.

我想cos(a)*cos(b)扩展到1/2*(cos(a+b) + cos(a-b)) ...任何提示?

python sympy

8
推荐指数
1
解决办法
1130
查看次数

如何根据部分匹配选择DataFrame列?

今天下午我正在努力寻找一种方法来选择我的Pandas DataFrame的几列,通过检查名称中某个模式的出现(标签?).

我一直在寻找类似containsisinnd.arrays/的东西pd.series,但没有运气.

这让我很沮丧,因为我已经检查了我的列中DataFrame是否出现了特定的字符串模式,如:

hp = ~(df.target_column.str.contains('some_text') | df.target_column.str.contains('other_text'))
df_cln= df[hp]
Run Code Online (Sandbox Code Playgroud)

然而,无论我如何撞击我的头,我都无法申请.str.contains()返回的对象df.columns- 这是一个Index- 也不是返回的对象df.columns.values- 这是一个ndarray.这适用于"切片"操作返回的内容df[column_name],即a Series.

我的第一个解决方案涉及for循环和创建帮助列表:

ll = []
for a in df.columns:
    if a.startswith('start_exp1') | a.startswith('start_exp2'):
    ll.append(a)
df[ll]
Run Code Online (Sandbox Code Playgroud)

(str当然,可以应用任何功能)

然后,我找到了该map函数,并使用以下代码:

import re
sel = df.columns.map(lambda x: bool(re.search('your_regex',x))
df[df.columns[sel]]
Run Code Online (Sandbox Code Playgroud)

当然,在第一个解决方案中,我可以执行相同类型的正则表达式检查,因为我可以将它应用于str迭代返回的数据类型.

我是Python的新手,从来没有真正编程任何东西,所以我不太熟悉速度/时间/效率,但我倾向于认为第二种方法 - 使用地图 - 可能会更快,除了看起来更优雅我的未经训练眼睛.

我很想知道你对它的看法,以及可能的替代方案.考虑到我的高唱水平,如果你能纠正我在代码中犯下的任何错误并指出正确的方向,我将非常感激.

谢谢,米歇尔

编辑 …

python pandas

8
推荐指数
2
解决办法
1万
查看次数

Pyinstaller语法错误:异步函数内的'yield'(Python 3.5.1)

我试图用来pyinstaller创建一个可执行文件,以分发给没有安装Python的用户.

脚本是一个非常简单的脚本,只是为了测试水域,我只使用几行代码作为"豚鼠".

Hello World计划 - 没有进口,转换良好.

导入matplotlib.pyplot并绘制值列表的我的豚鼠程序失败了.

这个问题在这里是已知和记录的,虽然他们声称它是固定的,或者我可能无法正确阅读.我认为应该在"dev版本"中提供修复程序,该版本应该是3.2.1,并且我已安装通过pip install --upgrade pyinstaller,但无济于事.

我一直得到相同的语法错误,这在读取时会发生

module jinja2\asyncsupport.py
Run Code Online (Sandbox Code Playgroud)

知道如何解决这个问题吗?我的项目是超简单的,它只是涉及matplotlib,pandas,读取文件,并绘制了一些数据.

pyinstaller

8
推荐指数
1
解决办法
4567
查看次数

Matplotlib - 在 LateX 表达式中使用变量

我想使用 LateX 格式构建一个表达式,其中一些数字出现但以 LateX 表达式中的变量表示。

实际的目标是在axes.annotate()方法中使用这个,但是为了讨论,这里是一个原理代码:

import matplotlib.pyplot as plt
import numpy as np 
x = np.arange(-5, 5, 0.05)
fig = plt.plot(x, x**2)
plt.grid(True)
g = 3
plt.xlabel(r'$test {}$'.format(g))
plt.show()
Run Code Online (Sandbox Code Playgroud)

这没问题。的值g被传递给表达式。

但是,使用\frac{}{}和其他构造呢?将xlabel()上面的字符串替换为:

plt.xlabel(r'$test \frac{1}{}$'.format(g))
Run Code Online (Sandbox Code Playgroud)

给出:

IndexError: tuple index out of range
Run Code Online (Sandbox Code Playgroud)

我知道使用花括号会发生一些事情,并尝试了几种变体,但到目前为止没有任何效果。

latex annotate matplotlib

6
推荐指数
1
解决办法
4862
查看次数

X 错误:在 GNOME 上启动 Spyder 时出现 BadDrawable(无效的像素图或窗口参数)

对不起,如果这个问题没有像它应该的那样详细和集中。我是 Linux 用户(因此没有任何类型的管理员权限),刚刚从这里安装了 Anaconda3并按照说明进行操作。

请注意,我的 Linux 机器连接到 Internet,因此我必须通过其他方式传输文件,然后bash Anaconda...按照 Continuum 站点中的说明运行。

然后我成功启动IPython并尝试内联绘图,没有问题。但是,当我尝试在 Windows 中使用绘图时,我从终端得到了这种输出:

X Error: BadDrawable (invalid Pixmap or Window parameter) 9   Major opcode: 62 (X_CopyArea) 
Run Code Online (Sandbox Code Playgroud)

创建的图形窗口只是空白。

然后我尝试开始Spyder并基本上看到相同的行为:上面报告了很多错误,并且Spyder窗口只是弹出空白。

Google 对错误的搜索给出了 报告的结果Qt,这是有道理的,因为在绘制“离线”(而不是inline)时使用然后QtAgg

但是,我不知道在哪里寻找这些库的版本,如何安装/编译新库,无论这是否真的是问题所在。我只是对Linux一无所知。

任何人都可以暗示要寻找什么以及如何尝试调试这种行为?

qt spyder anaconda

4
推荐指数
2
解决办法
9230
查看次数