Tag: python

如何访问NumPymultidimensional array的第i列?

假设我有: test = numpy.array([[1, 2], [3, 4], [5, 6]]) test[i]让我itharrays线(例如[1, 2] )。 我如何访问第i列? (例如[1, 3, 5] )。 另外,这将是一个昂贵的操作?

为什么Python中没有++和 – 运算符?

为什么Python中没有++和–运算符?

Python解释,或编译,或两者?

从我的理解: 解释型语言是一种高级语言,由移动装置(一种将高级语言转换为机器码然后执行的程序)执行并执行; 它一次处理程序一点点。 编译语言是一种高级语言,其代码首先由编译器(将高级语言转换为机器码的程序)转换为机器码,然后由执行器(用于运行代码的另一程序)执行。 纠正我,如果我的定义是错误的。 现在回到Python,我有点困惑。 你到处学习Python是一种解释型语言,但是它被解释为一些中间代码(比如字节代码或者IL),而不是机器代码。 那么哪个程序执行IM代码呢? 请帮我理解Python脚本是如何处理和运行的。

在Django中使用的related_name是什么?

什么是ManyToManyField和ForeignKey字段有用的related_name参数? 例如,给定以下代码, related_name='maps'的效果是什么? class Map(db.Model): members = models.ManyToManyField(User, related_name='maps', verbose_name=_('members'))

将matplotlib图例移动到轴的外侧,使其被图框截断

我熟悉以下问题: Matplotlib savefig与图外的图例 如何把这个传说排除在阴谋之外 似乎这些问题的答案有能力摆脱轴的精确缩小的豪华,以便传说适合。 但是,缩小坐标轴并不是一个理想的解决scheme,因为它使数据变小,实际上更难解释。 特别是当它的复杂和有很多事情发生…因此需要一个大的传奇 文档中复杂图例的示例演示了对此的需求,因为图中的图例实际上完全遮挡了多个数据点。 http://matplotlib.sourceforge.net/users/legend_guide.html#legend-of-complex-plots 我希望能够做的是dynamic扩大数字框的大小,以适应扩大的数字图例。 import matplotlib.pyplot as plt import numpy as np x = np.arange(-2*np.pi, 2*np.pi, 0.1) fig = plt.figure(1) ax = fig.add_subplot(111) ax.plot(x, np.sin(x), label='Sine') ax.plot(x, np.cos(x), label='Cosine') ax.plot(x, np.arctan(x), label='Inverse tan') lgd = ax.legend(loc=9, bbox_to_anchor=(0.5,0)) ax.grid('on') 请注意,最终的标签“反转棕褐色”实际上是在数字框外面(而且看起来很差 – 不是出版质量!) 最后,我被告知这是在R和LaTeX中的正常行为,所以我有点困惑,为什么在python中如此困难…是否有历史原因? Matlab在这个问题上同样很差吗? 我在pastebin http://pastebin.com/grVjc007上有这个代码的(稍微)更长的版本

有没有办法(漂亮)打印整个pandas系列/dataframe?

我在terminal上使用了Series和DataFrames。 一个Series的默认__repr__返回一个减less的样本,有一些头部和尾部的值,但其余的缺失。 是否有内置的方式来漂亮地打印整个系列/dataframe? 理想情况下,它将支持正确的alignment,也许列之间的边界,甚至可能为不同的列进行颜色编码。

如何在使用新语言function的程序中检查Python版本?

如果我有一个需要至less一个特定版本的Python的Python脚本,当使用较早版本的Python来启动脚本时,正确地失败的正确方法是什么? 如何及早获得控制权来发出错误信息并退出? 例如,我有一个使用ternery操作符(2.5中新增)和“with”块(2.6中新增)的程序。 我写了一个简单的小解释程序版本检查程序,这是脚本将调用的第一个东西,除非它没有那么远。 相反,脚本在python编译期间失败,甚至在我的例程甚至被调用之前。 因此,脚本的用户看到一些非常模糊的synax错误回溯 – 这非常需要专家推断,这只是运行错误版本的Python的情况。 我知道如何检查Python的版本。 问题是在较旧版本的Python中某些语法是非法的。 考虑这个程序: import sys if sys.version_info < (2, 4): raise "must use python 2.5 or greater" else: # syntax error in 2.4, ok in 2.5 x = 1 if True else 2 print x 在2.4下运行时,我想要这个结果 $ ~/bin/python2.4 tern.py must use python 2.5 or greater 而不是这个结果: $ […]

如何在python解释器中执行文件?

我正尝试从解释器中使用python命令执行文件。 编辑:我试图从该文件使用variables和设置,而不是调用一个单独的进程。

链式调用Python中的父构造函数

考虑这个 – 一个基类A,从Binheritance的类B,从Binheritance的类C.什么是在构造函数中调用父类构造函数的通用方法? 如果这仍然听起来太模糊,这是一些代码。 class A(object): def __init__(self): print "Constructor A was called" class B(A): def __init__(self): super(B,self).__init__() print "Constructor B was called" class C(B): def __init__(self): super(C,self).__init__() print "Constructor C was called" c = C() 这是我现在做的。 但是它看起来还是非常通用的 – 你仍然必须手工传递正确的types。 现在,我已经尝试使用self.__class__作为super()的第一个参数,但显然这不起作用 – 如果将它放在C的构造函数中,那么B的构造函数会被调用。 如果你在B中做同样的事情,“self”仍然指向C的一个实例,所以你最终再次调用B的构造函数(这以无限recursion结束)。 现在没有必要考虑钻石inheritance,我只是想解决这个具体问题。

什么是Python蛋?

我是Python的新手,只是想了解它的包是如何工作的。 据推测,“鸡蛋”是某种包装机制,但简要介绍一下他们扮演什么样的angular色,也许是一些关于他们为什么有用的信息以及如何创造它们?