我正在玩我的iPython笔记本格式化,以使它们更多地成为日志.display(HTML())构造的使用使得一切都很好并且相对容易组织.
我想在其他媒体中使用某些单元格的输出,例如演示文稿.我现在这样做的方法是截取该区域的截图,但随后一切都变成像素,并且没有可能的细化.
有没有办法以某种有用的格式呈现单个单元格的输出?
我找不到让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))
...任何提示?
今天下午我正在努力寻找一种方法来选择我的Pandas DataFrame的几列,通过检查名称中某个模式的出现(标签?).
我一直在寻找类似contains或isin为nd.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的新手,从来没有真正编程任何东西,所以我不太熟悉速度/时间/效率,但我倾向于认为第二种方法 - 使用地图 - 可能会更快,除了看起来更优雅我的未经训练眼睛.
我很想知道你对它的看法,以及可能的替代方案.考虑到我的高唱水平,如果你能纠正我在代码中犯下的任何错误并指出正确的方向,我将非常感激.
谢谢,米歇尔
编辑 …
我试图用来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,读取文件,并绘制了一些数据.
我想使用 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)
我知道使用花括号会发生一些事情,并尝试了几种变体,但到目前为止没有任何效果。
对不起,如果这个问题没有像它应该的那样详细和集中。我是 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一无所知。
任何人都可以暗示要寻找什么以及如何尝试调试这种行为?
python ×3
anaconda ×1
annotate ×1
latex ×1
matplotlib ×1
pandas ×1
pyinstaller ×1
qt ×1
spyder ×1
sympy ×1