我刚刚开始使用NumPy,所以我可能会错过一些核心概念......
从值为列表的字典创建NumPy数组的最佳方法是什么?
像这样的东西:
d = { 1: [10,20,30] , 2: [50,60], 3: [100,200,300,400,500] }
Run Code Online (Sandbox Code Playgroud)
应该变成这样的东西:
data = [
[10,20,30,?,?],
[50,60,?,?,?],
[100,200,300,400,500]
]
Run Code Online (Sandbox Code Playgroud)
我将对每一行做一些基本的统计,例如:
deviations = numpy.std(data, axis=1)
Run Code Online (Sandbox Code Playgroud)
问题:
从字典中创建numpy.array的最佳/最有效方法是什么?字典很大; 几百万把钥匙,每件钥匙约有20件.
每个'行'的值的数量是不同的.如果我理解正确numpy想要统一大小,那么我为缺少的项目填写什么让std()开心?
更新:有一件事我忘了提及 - 虽然python技术是合理的(例如,循环几百万个项目很快),但它仅限于一个CPU.Numpy操作可以很好地扩展到硬件并击中所有CPU,因此它们很有吸引力.
我正在寻求在服务器和分布式客户端之间实现数据同步.服务器上的数据源是mysql,顶部是django.客户可以有所不同.更新可以在客户端或服务器上进行,并且服务器和客户端之间的连接不可靠(例如,可以在断开连接的手机上进行更改,当手机再次连接时应该同步).
S. Lott建议在这个问题中使用版本控制设计模式,这是有道理的.我想知道是否有任何现有的包/实现我可以使用.或者,我应该直接使用svn/git/etc吗?
还有其他选择吗?必须有同步框架或算法的详细描述,但我找不到很多运气.如果你指出我正确的方向,我将不胜感激.
我正在尝试实现一个简单的单点登录方案,其中一些参与的服务器将是Windows(IIS)框.看起来SPNEGO是一条合理的道路.
这是场景:
听起来不错吗?
我需要两件事(至少我现在能想到的):
除了为我的网站提供API之外,我还想让用户能够编写可在我的服务器上运行的简单脚本.这些脚本可以访问用户拥有的对象,并能够操作,修改和处理其数据.
我希望能够将这些脚本所占用的资源限制在一个很好的水平(例如,最大执行时间应该是100毫秒).我还想确保一个安全的沙箱,这样每个用户只能访问一组有限的数据和资源,并且无法访问磁盘,其他人的数据等.
通常,脚本将非常简单(例如,创建匹配特定条件的值的总和或平均值),并且它们通常将在模板中使用(例如,用平均值填充此单元格或html元素的值或和).
理想情况下,我想使用一个众所周知的常用编程语言的沙盒子集,以便用户轻松获取.后端是用Python编写的,因此基于Python的语言可以带来好处,但我对其他语言和技术持开放态度.由于其简单的特性和通用可用性,Javascript也很有吸引力.
这些语言应该支持创建DSL和库.
目标受众是基于Web的应用程序的一般用户群,不一定非常技术性.换句话说,它不是针对具有任何特定编程语言的特定知识的基础.我的期望是用户的一部分将创建将由大多数人使用的脚本.
有关语言和技术的任何想法或建议吗?其他人试图这样做的例子以及他们遇到的成功和失败?
使用get_payload遇到奇怪的事情:当它在解码的消息中看到一个等号时,它似乎很糟糕.这是显示错误的代码:
import email
data = file('testmessage.txt').read()
msg = email.message_from_string( data )
payload = msg.get_payload(decode=True)
print payload
Run Code Online (Sandbox Code Playgroud)
这是一个示例消息:测试消息.
消息仅打印到第一个"=".其余部分省略.谁知道发生了什么事?
带有"decode = False"的相同脚本会返回完整的消息,因此看起来解码对等号不满意.
这是在Python 2.5下.
我试图用很少的运气来使用django-mptt.这是与Python2.5,windows,sqlite3,Django 1.2pre,django-mptt最新的svn.
代码:
模型:
class Node(models.Model):
name = models.CharField(max_length=20, blank=True)
parent = models.ForeignKey('self', null=True, blank=True, related_name='children')
def __unicode__(self):
return self.name
mptt.register(Node)
Run Code Online (Sandbox Code Playgroud)
建立:
nodes = []
for i in range(15):
n = Node(name='node'+str(i))
n.save()
nodes.append(n)
nodes[0].move_to(None)
nodes[0].save()
for n in range(1,15):
nodes[n].move_to(nodes[(n-1)/2],'last-child')
nodes[n].save()
Run Code Online (Sandbox Code Playgroud)
这应该创建一个树,其中一个根和两个子节点挂在每个非叶节点之外.
现在好玩的开始了:
>>> nodes[0].children.all()
[<Node: node1>, <Node: node2>]
>>> nodes[0].get_descendants()
[]
>>> nodes[0].get_descendants(True)
[<Node: node0>, <Node: node2>]
>>> for n in nodes:
... print n, n.get_ancestors()
...
node0 []
node1 [<Node: node0>]
node2 [<Node: node0>]
node3 …Run Code Online (Sandbox Code Playgroud) 我正在寻找一个简约的javascript模板系统,ala John Resig的Javascript Micro Templating.越小越好,如果它的jquery更好.建议?
我试过John的微模板,但遇到了一些问题,想看看是否有更多烘焙/更好的包装解决方案.
[更新]我再次尝试了Resig的Micro Templating,它对我来说效果很好.如果有的话,仍然希望听到其他替代方案.
我希望收到一个给定域名的电子邮件,比如http://mydomain.com/,由AppEngine应用程序处理,我们称之为http://emailprocessor.appspot.com/.
也就是说,应该通过emailprocessor.appspot.com接收并处理发送到"hello@mydomain.com"的电子邮件,就好像它是发送到"hello@emailprocessor.appspot.com"的电子邮件一样.
我想我可以通过MX记录为我的mydomain.com域做到这一点,但我无法在任何地方找到指令.
这是可能的,如果是这样的话,可以设置它吗?
我正在整理一个脚本来查找大型图像库中的删除重复项.目前我正在做一个双通过滤器,首先找到相同大小的文件,然后在10240字节的文件上做一个sha256,以获得具有相同大小的文件的指纹(这里是代码).
它运行良好,但我猜我可能使用jpeg格式内置校验和,而不是使用sha256.
有谁知道是否有校验和或其他组件可以作为校验和/指纹?如果是这样,是否有一种有效的方式来访问它们?
python ×5
django ×2
email ×2
javascript ×2
amazon-ec2 ×1
amazon-s3 ×1
checksum ×1
django-mptt ×1
fingerprint ×1
jpeg ×1
jquery ×1
kerberos ×1
mptt ×1
numpy ×1
sandbox ×1
spnego ×1
templates ×1