在python中,如果我有一组数据
x, y, z
Run Code Online (Sandbox Code Playgroud)
我可以散布
import matplotlib.pyplot as plt
plt.scatter(x,y,c=z)
Run Code Online (Sandbox Code Playgroud)
我如何得到plt.contourf(x,y,z)
分散?
对于给定的conda
包,如何列出依赖它的包?
我最近在一个已经有MPI版本(openmpi)的大学集群上安装了anaconda.安装了anaconda 的mpich2
软件包和mpi4py
软件包适用于mpi4py的演示,但mpi*
编译器(mpicc等)不兼容.所以我conda remove
倒是mpich2
和mpi4py
和用于pip
安装mpi4py
使用本地MPI安装和编译器.
我不得不四处寻找mpi4py
依赖,然后mpich2
依赖我,我只是确定了mpi4py
.是否有"简单"的方法来找出取决于mpich2
什么?
我想创建一个virtualenv
使用另一个作为起点,这可能吗?
我必须记住案例:
假设我有两个virtualenv
用于生产,一个用于开发.开发环境需要与生产环境相同的包,但它需要在生产环境中不需要的其他包.我不想两次安装普通包.
我想尝试一个软件包的开发版本,matplotlib
比如说.该软件包的开发版本与稳定版本具有相同的要求.所以我创建了一个virtualenv
调用matplotib_stable
并安装了需求和稳定版本.然后我创建了第二个virtualenv
被调用matplotlib_dev
并matplotlib_stable
用作起点(用于matplotlib
需求),然后我安装了开发版本.
如何使用pip从本地缓存安装?似乎解决了下载软件包的问题,但我认为它不涉及修改sys.path
.
我想得到一个字符串模板可能在替换中使用的所有可能关键字参数的列表.
有没有办法做到这一点而不是重新?
我想做这样的事情:
text="$one is a $lonely $number."
keys = get_keys(text)
# keys = ('one', 'lonely', 'number')
Run Code Online (Sandbox Code Playgroud)
我正在编写一个简单的类似Mad-lib的程序,我想用string.format或Template字符串执行模板替换.我想写"故事"并让我的程序生成一个模板文件,其中包含用户需要生成的所有"关键字"(名词,动词等).我知道我可以用正则表达式做到这一点,但我想知道是否有替代解决方案?我愿意接受string.format和string template的替代方案.
我认为会有解决方案,但我没有快速搜索过.我确实发现了这个问题,用python反向模板,但它并不是我想要的.它只是重申可以做到这一点re
.
编辑:
我应该注意到这$$
是'$'的转义,并不是我想要的标记.$$5
应该渲染到"5美元".
我对特定python脚本的内存使用感到非常困惑.尽管有几个SO问题/ 答案的建议,我想我真的不知道如何描述用法.
我的问题是:和之间有什么区别?为什么一个人告诉我我正在使用大量的内存,另一个告诉我我不是?memory_profiler
guppy.hpy
我正在使用pysam
一个用于访问生物信息学SAM/BAM文件的库.当将SAM(ASCII)转换为BAM(二进制)并操纵其间的文件时,我的主脚本会快速耗尽内存.
我创建了一个小测试示例,以了解每一步分配多少内存.
# test_pysam.py:
import pysam
#from guppy import hpy
TESTFILENAME = ('/projectnb/scv/yannpaul/MAR_CEJ082/' +
'test.sam')
#H = hpy()
@profile # for memory_profiler
def samopen(filename):
# H.setrelheap()
samf = pysam.Samfile(filename)
# print H.heap()
pass
if __name__ == "__main__":
samopen(TESTFILENAME)
Run Code Online (Sandbox Code Playgroud)
使用memory_profiler(python -m memory_profiler test_pysam.py
)监视内存使用情况会产生以下输出:
Filename: test_pysam.py
Line # Mem usage Increment Line Contents
================================================
10 @profile # for memory_profiler
11 def samopen(filename):
12 10.48 MB 0.00 MB …
Run Code Online (Sandbox Code Playgroud) 在设置进程数时,我很想知道我的机器上实际可以使用多少个线程 - 如何找到它?有没有办法确定我可用的线程数?
伙计们,
我已经辞职以解决这个问题,但我想检查Python是否真的按预期运行.
在示例中,"sample.txt"是任何读取和解析的多行文本文件.
try:
file=open('sample.txt','r')
for line in file:
(some action here)
except:
print "Couldn't open file"
file.close()
Run Code Online (Sandbox Code Playgroud)
我观察到的动作是打开"sample.txt"并处理第一行,然后逻辑进入"except"子句.
WAD还是这个bug?
python ×6
conda ×1
contour ×1
map ×1
matplotlib ×1
nested-loops ×1
reduce ×1
scatter-plot ×1
virtualenv ×1