小编Ric*_*son的帖子

在matplotlab pcolor中设置颜色

我想使用matplotlib在python中绘制类似第二个图像的内容: 在此输入图像描述

这背后的代码在这里:

#!/usr/bin/env python

from pylab import *

Z = rand(6,10)

subplot(2,1,1)
c = pcolor(Z)
title('default: no edges')

subplot(2,1,2)
c = pcolor(Z, edgecolors='k', linewidths=4)
title('thick edges')

show()
Run Code Online (Sandbox Code Playgroud)

现在,我有布尔值的列表,我只是想画一个灰色的每个矩形True值和红色为每个False价值.

说我只是这个:

a = array([True,False],[False,False])
Run Code Online (Sandbox Code Playgroud)

我应该将[0,1]中的值分配给True和False?

python plot matplotlib

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

Python:根据两个条件对嵌套列表进行排序

在Python中,我有一个嵌套列表,如下所示:

[ [[x1,y1,z1], [['0.9', 4], [0.8, 3], [0.5, 10], [0.1, 11]], 
  [[x2,y2,z2], [['1.0', 8], [0.8, 3], [0.2, 1], [0.1, 8]]
...]
Run Code Online (Sandbox Code Playgroud)

所以每个元素的形式如下:

 [[3-tuple], [[val1, occurrences_of_val1], [val2, occurrences_of_val2],...]]
Run Code Online (Sandbox Code Playgroud)

第二个嵌套列表已按第一个项目排序(val1> val2> val3 ...),但我还希望3元组[x,y,z]按照两个条件按降序排列:

  1. val1的值(最高的第一个)
  2. 在val1相同的情况下,最高出现次数_of_val1(如果上面的两个值相同,则可能应用于val2)

我该怎么做呢?可能与itemgetter,但我不确定在这种情况下.

python sorting list

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

rpy2:检查软件包是否已安装

使用rpy2,我想检查是否安装了给定的包.如果是,我导入它.如果没有,我先安装它.

如何检查是否已安装?

from rpy2 import *
if not *my package is installed*:
   rpy2.interactive as r
   r.importr("utils")
   package_name = "my_package"
   r.packages.utils.install_packages(package_name)
myPackage = importr("my_package")
Run Code Online (Sandbox Code Playgroud)

python install r package rpy2

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

指定argparse中的浮点数列表

使用argparse,我希望用户指定6个值作为一个可选输入参数的参数.是否有内置方法来检查这些值是否为浮点数?

parser.add_argument("-e", nargs=6, metavar=('a', 'b', 'c', 'd', 'e', 'f'),
                        help="my help message",
                        default=None)
Run Code Online (Sandbox Code Playgroud)

python input argparse

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

Python:比较几千个字符串.任何比较快速的替代方案?

我有一组大约6 000个数据包,为了进行比较,我将其表示为 字符串(前28个字节),以便与尽可能多的数据包进行比较,我也将其表示为28个字节的字符串.

我必须匹配一组中的每个数据包与所有其他数据包.匹配始终是唯一的.

我发现比较字符串需要一些时间.有没有办法加快这个过程?

EDIT1:我不想置换字符串元素因为我总是确保保留包列表和相应字符串列表之间的顺序.

EDIT2:这是我的实现:

list1, list2 # list of packets (no duplicates present in each list!)
listOfStrings1, listOfStrings2 # corresponding list of strings. Ordering is preserved.
alreadyMatchedlist2Indices = []
for list1Index in xrange(len(listOfStrings1)):
            stringToMatch = listOfStrings1[list1Index]
            matchinglist2Indices = [i for i, list2Str in enumerate(listOfStrings2)
                                if list2Str == stringToMatch and i not in alreadyMatchedlist2Indices]
            if not matchinglist2Indices:
                tmpUnmatched.append(list1Index)
            elif len(matchinglist2Indices) == 1:
                tmpMatched.append([list1Index, matchinglist2Indices[0]])
                alreadyMatchedlist2Indices.append(matchinglist2Indices[0]) …
Run Code Online (Sandbox Code Playgroud)

python string comparison performance string-comparison

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

matplotlib:3D图中的网格

matplotlib,如何在三维散点图中显示网格?

在二维图中我只是这样做:plt.grid(True)它就像一个魅力.现在使用3D绘图,同一个调用会返回一个警告:

File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 2792, in grid
   ret = gca().grid(b, which, axis, **kwargs)    
TypeError: grid() takes at most 2 arguments (4 given)
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?

python 3d grid plot matplotlib

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

调试python多处理中的错误

我正在使用模块的Pool功能,multiprocessing以便在不同的数据上并行运行相同的代码.

事实证明,在某些数据上,我的代码会引发异常,但是没有给出发生这种情况的确切行:

Traceback (most recent call last):
  File "my_wrapper_script.py", line 366, in <module>
    main()
  File "my_wrapper_script.py", line 343, in main
    results = pool.map(process_function, folders)
  File "/usr/lib64/python2.6/multiprocessing/pool.py", line 148, in map
    return self.map_async(func, iterable, chunksize).get()
  File "/usr/lib64/python2.6/multiprocessing/pool.py", line 422, in get
    raise self._value
KeyError: 'some_key'
Run Code Online (Sandbox Code Playgroud)

我知道multiprocessing.log_to_stderr(),但似乎在并发问题出现时它很有用,这不是我的情况.

有任何想法吗?

python exception multiprocessing

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

grep:无效的上下文长度参数

我要检查,如果一个iptables规则存在(如看到这里),但我得到了以下错误:

$ sudo iptables-save | grep "-A OUTPUT -p tcp --tcp-flags  RST RST -j DROP"
grep:  OUTPUT -p tcp --tcp-flags  RST RST -j DROP: invalid context length argument
Run Code Online (Sandbox Code Playgroud)

也许我必须逃脱一些角色?

grep

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

计算python中列表的平均值,不包括文字

在Python中,我有一个列表,如下所示:

[[1,2,3, 'L'], ['L'], [1]]
Run Code Online (Sandbox Code Playgroud)

我想为每个子列表计算所有数字元素的平均值.因此应排除值"L".以上示例的结果应该是:

[2, [], 1]
Run Code Online (Sandbox Code Playgroud)

有没有快速的方法在一行中这样做?

谢谢.

python average list literals mean

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

来自Python的awk:错误的子进程参数?

我需要在Python中运行以下(working)命令:

ip route list dev eth0 | awk ' /^default/ {print $3}'
Run Code Online (Sandbox Code Playgroud)

使用subprocess,我必须做以下事情:

first = "ip route list dev eth0"
second = "awk ' /^default/ {print $3}'"
p1 = subprocess.Popen(first.split(), stdout=subprocess.PIPE)
p2 = subprocess.Popen(second.split(), stdin=p1.stdout, stdout=subprocess.PIPE)
p1.stdout.close()  # Allow p1 to receive a SIGPIPE if p2 exits.
output = p2.communicate()[0]
Run Code Online (Sandbox Code Playgroud)

出了点问题p2.我明白了:

>>> awk: cmd. line:1: '
awk: cmd. line:1: ^ invalid char ''' in expression
Run Code Online (Sandbox Code Playgroud)

我该怎么办?在终端上它完美运行.

python awk subprocess pattern-matching

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