小编AKK*_*KKO的帖子

如何完全清除所有Matplotlib图的记忆

我有数据分析模块,其中包含多次调用Matplotlib pyplot API的函数,每次运行时最多可生成30个数字.这些数字在生成后会立即写入磁盘,因此我需要从内存中清除它们.目前,在我的每个功能结束时,我都这样做

import matplotlib.pyplot as plt

plt.clf()
Run Code Online (Sandbox Code Playgroud)

但是我不太确定这个陈述是否能真正清除记忆.我特别担心,因为我看到每次运行模块进行调试时,我的可用内存空间不断减少.任何人都可以告诉我,在我将这些图写入磁盘后,每次我需要做些什么才能真正清除我的记忆?

谢谢.

python memory matplotlib

19
推荐指数
4
解决办法
1万
查看次数

尝试通过添加更多的key:value对来增长嵌套字典

我在尝试向本身嵌套在另一个字典对象中的字典对象添加更多key:value对时遇到了一些麻烦。同样,在dict[key] = value字典中分配额外的key:value对的通常方法也不适合我的情况(我将在下面解释原因),因此这使我的目标难以实现。

我将通过源代码中的一些语句来说明我要实现的目标。

首先,我有一个包含嵌套的字典对象:

environment = { 'v' : 
                  {
                   'SDC_PERIOD':'{period}s'.format(period = self.period),
                   'FAMILY':'{legup_family}s'.format(legup_family = self.legup_family),
                   'DEVICE_FAMILY':'"{fpga_family}s"'.format(fpga_family = self.fpga_family)
                   }
              }
Run Code Online (Sandbox Code Playgroud)

然后遵循这一行,我将做一个if测试,如果通过,将要求我添加其他字典:

environment_add = { 'v' : {'LM_LICENSE_FILE' : '1800@adsc-linux'} , 
                    'l' : 'quartus_full' }
Run Code Online (Sandbox Code Playgroud)

最终形成这个完整的字典:

environment = { 'v' : 
                  {
                   'SDC_PERIOD':'{period}s'.format(period = self.period),
                   'FAMILY':'{legup_family}s'.format(legup_family = self.legup_family),
                   'DEVICE_FAMILY':'"{fpga_family}s"'.format(fpga_family = self.fpga_family),
                   'LM_LICENSE_FILE' : '1800@adsc-linux'
                   } ,
                'l' : 'quartus_full'
              }
Run Code Online (Sandbox Code Playgroud)

如您所见,如果我尝试使用dict[key] = value语法分配一个新的key:value对,它将对我不起作用,因为它将最终为我创建一个新的key:value对,或者覆盖现有的字典对象以及嵌套在'v'键下的key :value对。

到目前为止,为了完成字典的创建,我一直在使用以下内容:

environment = """{ v: {'SDC_PERIOD':'%(period)s','FAMILY':'%(legup_family)s','DEVICE_FAMILY':'"%(fpga_family)s"'}}""" % …
Run Code Online (Sandbox Code Playgroud)

python string dictionary replace abstract-syntax-tree

5
推荐指数
1
解决办法
7330
查看次数

pandas query()方法中的bug?

我正在为pandas query()方法试验几个用例,并尝试了一个引发异常的参数,但却导致对我的DataFrame中的数据进行不必要的修改.

In [549]: syn_fmax_sort
Out[549]: 
     build_number      name    fmax
0             390     adpcm  143.45
1             390       aes  309.60
2             390     dfadd  241.02
3             390     dfdiv   10.80
....
211           413     dfmul  215.98
212           413     dfsin   11.94
213           413       gsm  194.70
214           413      jpeg  197.75
215           413      mips  202.39
216           413     mpeg2  291.29
217           413       sha  243.19

[218 rows x 3 columns]
Run Code Online (Sandbox Code Playgroud)

所以我想用query()它来取出包含所有build_number392的数据帧的子集,所以我尝试了:

In [550]: syn_fmax_sort.query('build_number = 392')
Run Code Online (Sandbox Code Playgroud)

这引发了ValueError: cannot label index with a null key异常,但不仅如此,它还将完整的数据帧返回给我,并导致所有build_number …

python dataframe pandas

4
推荐指数
1
解决办法
4423
查看次数

list.append的意外行为

我正在使用我的解释器来弄清楚Python append()方法的行为并找到:

In [335]: b = [].append(1)

In [336]: b

In [337]: 

In [337]: b = [].append('1')

In [338]: b
Run Code Online (Sandbox Code Playgroud)

让我感到困惑的是因为我认为每当我们调用append()列表时,我们都会在其末尾添加新对象,所以不应该调用append()空列表(就像我上面所做的那样)给出了我可以实现的相同结果:

In [339]: b=[] 

In [340]: b.append(1)

In [341]: b
Out[341]: [1]
Run Code Online (Sandbox Code Playgroud)

我可能在这里有一个误解,所以如果我弄错了,请纠正我.

python list append ipython

3
推荐指数
1
解决办法
88
查看次数

使用shell = True w/list时,subprocess.call()参数被忽略

我试图让python的subprocess.call方法通过列表(由一系列字符串组成)接受一些args命令,如python文档中所建议的那样.为了在将它放入我的实际脚本之前探索这种行为,我打开了IPython,运行了一些涉及shell设置和args命令的不同组合的命令,并得到以下行为:

In [3]: subprocess.call(['ls', '-%sl' %'a'])
total 320
drwxr-xr-x  20 Kohaugustine  staff   680 Oct 15 16:55 .
drwxr-xr-x   5 Kohaugustine  staff   170 Sep 12 17:16 ..
-rwxr-xr-x   1 Kohaugustine  staff  8544 Oct 15 16:55 a.out
-rwxr-xr-x   1 Kohaugustine  staff  8544 Oct  3 10:28 ex1-6
-rw-r--r--@  1 Kohaugustine  staff   204 Oct  3 10:28 ex1-6.c
-rwxr-xr-x   1 Kohaugustine  staff  8496 Oct  3 10:15 ex1-7
-rw-r--r--@  1 Kohaugustine  staff    71 Oct  3 10:15 ex1-7.c
-rwxr-xr-x   1 Kohaugustine  staff  8496 Sep 12 16:22 hello …
Run Code Online (Sandbox Code Playgroud)

python bash shell subprocess call

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