小编pet*_*etr的帖子

函数应用程序在numpy的矩阵行/列上

我正在使用Numpy将数据存储到矩阵中.来自R background,有一种非常简单的方法可以在行/列或矩阵两者上应用函数.

python/numpy组合有类似的东西吗?编写我自己的小实现并不是一个问题,但在我看来,我提出的大多数版本将比任何现有的实现效率低得多/内存密集.

我想避免从numpy矩阵复制到局部变量等,这可能吗?

我试图实现的函数主要是简单的比较(例如,某列的多少元素小于数字x或者有多少元素的绝对值大于y).

python numpy map-function

36
推荐指数
3
解决办法
7万
查看次数

shlex.split仍然不支持unicode?

根据文档,在Python 2.7.3中,shlex应该支持UNICODE.但是,当运行下面的代码时,我得到:UnicodeEncodeError: 'ascii' codec can't encode characters in position 184-189: ordinal not in range(128)

难道我做错了什么?

import shlex

command_full = u'software.py -fileA="sequence.fasta" -fileB="??????.fasta.txt" -output_dir="..." -FORMtitle="tst"'

shlex.split(command_full)
Run Code Online (Sandbox Code Playgroud)

确切的错误如下:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shlex.py", line 275, in split
    lex = shlex(s, posix=posix)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shlex.py", line 25, in __init__
    instream = StringIO(instream)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 44-49: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

这是我的mac使用python从macports输出的.我在使用"native"python 2.7.3的Ubuntu机器上得到完全相同的错误.

python unicode shlex python-unicode

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

如何设置NetworkX边缘标签偏移量?(避免标签重叠)

我正在尝试为图表添加边缘标签.这一切都运作良好,唯一的问题是当两条边相交时 - 我只看到其中一个标签碰巧重叠.

例

正如您所看到的那样,显示了hphob-alpha标签,但没有显示极性-β标签(我的猜测是它在前面提到的正确).

我找不到任何关于如何重新定位标签的文档,任何建议如何设置某种偏移来移动标签?

用于生成图表的代码:

try:
    import matplotlib.pyplot as plt
except:
    raise

import networkx as nx

G=nx.Graph()

a="hphob"
b="polarity"
c="alpha"
d="beta"
G.add_edge(a,b,weight=0.5)
G.add_edge(b,c,weight=0.5)
G.add_edge(c,d,weight=0.5)
G.add_edge(a,d,weight=0.5)
G.add_edge(a,c,weight=0.5)
G.add_edge(b,d,weight=0.5)

pos=nx.spring_layout(G) # positions for all nodes

# nodes
nx.draw_networkx_nodes(G,pos,node_size=7000, node_color="white")

# edges
nx.draw_networkx_edges(G,pos,
        width=6,alpha=0.5,edge_color='black')


# labels
nx.draw_networkx_labels(G,pos,font_size=20,font_family='sans-serif')

nx.draw_networkx_edge_labels(G,pos, 
    {
        (a,b):"x", (b,c):"y", (c,d):"w", (a,d):"z", (a,c):"v", (b,d):"r"
    }
)

plt.axis('off')
plt.savefig("weighted_graph.png") # save as png
plt.show() # display
Run Code Online (Sandbox Code Playgroud)

python matplotlib networkx

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

在FireFox/Internet Explorer 11上删除HTML5验证的默认红色边框

我正在尝试为HTML5验证的表单提供自定义样式.我能够覆盖消息并调整表单,但是,我无法摆脱IE11中无效元素周围的红色边框.

Chrome表现得像我喜欢的那样,没有任何边框,但是IE11和Firefox在场地周围显示红色.

我试过添加以下内容:

input:required {...}
input:valid    {...}
input:invalid  {...}
Run Code Online (Sandbox Code Playgroud)

但是没有成功 - 我只能添加额外的边框,而不是覆盖/删除原来的边框.我还可以看到他们有不同的操作模式 - 我试图摆脱的红色边框仅在我按下提交按钮后才能在IE中应用.表单仅以石灰边框开头,当我按下提交时,还会添加红色边框.放入正确的数据会立即删除两个边框(这在IE11中).另一方面,Firefox从应用红色和石灰边框开始.

完整示例:http://jsfiddle.net/zbyzhbdm/5/

有没有办法删除红色边框/将其设置为不同的颜色?我真的想使用原生HTML5验证而不依赖我自己的验证脚本.

更新:可以说服Firefox使用以下覆盖删除边框:

input:invalid {
    box-shadow: none !important;
}
Run Code Online (Sandbox Code Playgroud)

(http://jsfiddle.net/zbyzhbdm/7/上的详细信息)

IE仍然要去弄清楚.

validation firefox html5 internet-explorer-11

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

检测内置重定义(False = True)

在代码审查期间,我偶然发现了一个有趣的问题.由于Python中的所有内容都非常动态,因此可以执行以下操作:

False = True
if False:
    print "Yes please!"
Run Code Online (Sandbox Code Playgroud)

哪个行为正确并打印出来Yes please!.在理解这种行为背后的原理的同时,是否有任何自动代码检查器可以检测到这种行为?

我总是可以在检查的"假"的存在locals()globals()其他方式达到相同的效果或过多.虽然这可能与传统软件开发无关,但有时在数据分析管道等中会出现类似于他的错误.

python

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

Amazon Elastic Beanstalk - 获取访问者IP地址(python)

我的应用程序是在python和瓶子框架中开发的.我使用以下代码段来获取页面访问者的IP地址:

user_ip = bottle.request.environ['REMOTE_ADDR']
Run Code Online (Sandbox Code Playgroud)

它在我的本地机器上工作正常,但是,在部署到AWS Beanstalk实例后,我认为我正在获取负载均衡器IP,因为user_ip读取类似于10.48.95.234的内容.

我的想法是否正确?如果是这样,有没有办法获得真实访客的IP地址?

amazon-web-services bottle amazon-elastic-beanstalk

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