我找到了这个链接,我试图了解boxplot是如何工作的.
http://pandas.pydata.org/pandas-docs/dev/visualization.html#box-plotting
df = DataFrame(np.random.rand(10,5))
plt.figure();
bp = df.boxplot()
Run Code Online (Sandbox Code Playgroud)
我希望boxplot每个盒子需要4个值,但是它似乎为每个10个点构建一个盒子,我想知道背景中发生了什么.
我指的四点是晶须高,低,盒高,低
谢谢
我读了这个问题
但是当使用下面的代码时,我会得到一个假的np.array,如下所示.
import collections
isinstance(np.arange(10), collections.Sequence)
# returns false
Run Code Online (Sandbox Code Playgroud)
我觉得有点烦人,我不能做len(1),只是得到1.
我能想到的唯一工作是try except如下声明:
a = 1
try:
print len(a)
except TypeError:
print 1
Run Code Online (Sandbox Code Playgroud)
是否有更多的Pythonic方法来做到这一点?
我知道
import mpmath as mp
print mp.libmp.BACKEND
Run Code Online (Sandbox Code Playgroud)
但如果我没弄错的话,我不会说我是用gmpy还是gmpy2.
另外,我每次你使用更新版本的东西时都不会得到它旁边的版本号,但是因为我可以import gmpy而且gmpy2分别让我有点担心我可能会使用旧版本的gmpy.
谢谢
更新:
我也试过以下让我困惑/担心的事情.
import mpmath as mp
import gmpy as gm
import gmpy2 as gm2
print mp.mpf('1') == gm.mpf('1')
# Result is FALSE
print mp.mpf('1') == gm2.mpfr('1')
# Result is FALSE
print gm.mpf('1') == gm2.mpfr('1')
# Result is FALSE
print mp.mpf('1') == 1
# Result is TRUE
print gm.mpf('1') == 1
# Result is TRUE
print gm2.mpfr('1') == 1
# Result is TRUE
Run Code Online (Sandbox Code Playgroud)
有没有搞错?
我应该使用以下哪个以及为什么?
import numpy as np
a = np.zeros([2, 3])
b = np.zeros((2, 3))
Run Code Online (Sandbox Code Playgroud)
在很多情况下你可以以任何一种方式传递参数,我只是想知道一个是否更像Pythonic,或者是否有其他原因应该优先于另一个.
我看了一下这个问题,人们试图解释元组和列表之间的区别.这不是我感兴趣的,除非有理由我应该关心,当然我忽略了!
更新:
虽然使用numpy作为示例,但这通常与python有关.非笨拙的例子如下:
a = max([1, 2, 3, 5, 4])
b = max((1, 2, 3, 5, 4))
Run Code Online (Sandbox Code Playgroud)
我不是在编辑上面的内容,因为有些答案在他们的解释中使用了numpy
我正在尝试从numpy数组创建一个QPixmap.numpy数组图像将是2D(即没有颜色信息只是灰度).
我正在尝试根据我的需要调整这个答案,但我不太明白这一行:
b = (255 << 24 | a[:,:,0] << 16 | a[:,:,1] << 8 | a[:,:,2]).flatten() # pack RGB values
Run Code Online (Sandbox Code Playgroud)
有一些比特or转移和一些按位,但我不太明白.
所以我愚蠢的例子如下:
x, y = np.meshgrid(np.arange(1920), np.arange(1080), indexing='ij'); z = np.sin(0.03*x)*np.cos(0.005*y)
imgPNFN = z
if imgPNFN.ndim == 2:
imgPNFN = imgPNFN[:,:,np.newaxis].repeat(3, 2)
imMin = np.min(imgPNFN)
imDelta = np.max(imgPNFN) - np.min(imgPNFN)
im1 = ((imgPNFN-imMin)/imDelta*255).astype(np.uint32)+1 #<-- had to add 1 for some reason otherwise got weird results...
im2 = 255 << 24 | im1[:,:,0] << 16 | …Run Code Online (Sandbox Code Playgroud) 好像我没有DatePicker这个很奇怪的小部件。我尝试安装/卸载ipywidgets但没有运气。
知道如何安装它吗?
import ipywidgwts as ipyw
ipyw.DatePicker
# AttributeError: module 'ipywidgets' has no attribute 'DatePicker'
ipyw.__version__
# 5.2.2
Run Code Online (Sandbox Code Playgroud)
运行python3.5
我正在使用Qt在python中编写
我想创建应用程序窗口(带有装饰)以占据整个屏幕大小.目前这是我的代码:
avGeom = QtGui.QDesktopWidget().availableGeometry()
self.setGeometry(avGeom)
Run Code Online (Sandbox Code Playgroud)
问题是它忽略了窗口装饰,所以框架更大...我用Google搜索,什么不是,发现这个:
http://harmattan-dev.nokia.com/docs/library/html/qt4/application-windows.html#window-geometry
这似乎表明我需要将frameGeometry设置为,avGeom但是我还没有找到办法做到这一点.此外,在上面链接的评论中,它说我所追求的可能是不可能的,因为程序无法在运行之前设置frameGeometry ...如果是这种情况我只是想确认我的问题是不可解决的.
编辑:
所以我玩了一些代码,这给了我想要的东西......但是数字24基本上是通过试验和错误,直到窗口标题可见....我想要一些更好的方法来做到这一点...窗口管理员独立..
avGeom = QtGui.QDesktopWidget().availableGeometry()
avGeom.setTop(24)
self.setGeometry(avGeom)
Run Code Online (Sandbox Code Playgroud)
现在我可以做我想做的事,但纯粹是出于反复试验
运行Ubuntu,使用Spyder作为IDE
谢谢
我试图在这里更好地理解范围.
def f1():
a = 1
def g1(X):
return X+a
return g1
def f2():
a = 1
def g2(X):
return X+1
return g2
g1 = f1()
print g1(4)
g2 = f2()
print g2(4)
# both give 5 as you'd expect
Run Code Online (Sandbox Code Playgroud)
我的问题是没有a被破坏?它在哪个范围内?我的一般理解是,在f2函数返回时,a 的第二种情况绝对不可用.这种方式,例如,如果你有一个巨大的数组或内存方面的变量,一旦函数返回它们就不复存在了.
这里发生了什么?
编辑:
这里有空吗?
def f1():
a = 1
b = 1
def g1(X):
return X+a
return g1
Run Code Online (Sandbox Code Playgroud) 我正在努力更好地理解发布/订阅模型的工作原理.
具体来说,我指的是教程中的这一步.
if (Meteor.isServer) {
Meteor.publish('tasks', function tasksPublication() {
return Tasks.find();
});
}
Run Code Online (Sandbox Code Playgroud)
该tasksPublication教程之后的任何地方都不会使用该名称.
我正在使用spyder并编写了以下类:
class Ray:
def __init__(self, r, p, k):
if r.shape == (3,):
self.r = r
if p.shape == (3,):
self.p = p
if k.shape == (3,):
self.k = k
r = array(range(3))
p = array(range(3))
k = array(range(3))
Run Code Online (Sandbox Code Playgroud)
它存储在/ home/user/workspace/spyder/project中,控制台工作目录就是那个.在控制台中,我可以运行一个数组(范围(3)),它返回一个值为0,1,2的数组.但是在做的时候
import ray
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "ray.py", line 8, in <module>
class Ray:
File "ray.py", line 20, in ray
r = array(range(3));
NameError: name 'array' is not defined
Run Code Online (Sandbox Code Playgroud)
编辑:
默认情况下spyder有以下行为,不太明白为什么array()默认工作我认为它只是numpy的一部分.
import …Run Code Online (Sandbox Code Playgroud) 所以我有以下情况:
我有一个具有多个函数定义的模块.我想创建一个具有这些功能的类.
我只是想问哪条路最好?选项1
import ModuleWithFunctions
class bla(object):
ModuleWithFunctions = ModuleWithFunctions
Run Code Online (Sandbox Code Playgroud)
选项2
class bla(object):
import ModuleWithFunctions
Run Code Online (Sandbox Code Playgroud)
我知道选项2是针对PEP 8的,所以我假设人们会说选项1,但是,如果我希望所有内容都可用,那该怎么办?
bla.(function)
Run Code Online (Sandbox Code Playgroud)
代替:
bla.ModuleWithFunctions.(function)
Run Code Online (Sandbox Code Playgroud)
我怎么能用option1做到这一点?
python ×9
arrays ×1
boxplot ×1
class ×1
coding-style ×1
gmpy ×1
ipywidgets ×1
iterable ×1
javascript ×1
list ×1
meteor ×1
mpmath ×1
nameerror ×1
numpy ×1
pandas ×1
pep8 ×1
pyqt ×1
pyside ×1
python-3.x ×1
qimage ×1
qpixmap ×1
qt ×1
spyder ×1
tuples ×1
typechecking ×1