小编otm*_*ger的帖子

python:如何识别变量是数组还是标量

我有一个接受参数的函数NBins.我想用标量50或数组调用这个函数[0, 10, 20, 30].如何识别功能,长度NBins是多少?或者换句话说,如果它是标量或向量?

我试过这个:

>>> N=[2,3,5]
>>> P = 5
>>> len(N)
3
>>> len(P)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: object of type 'int' has no len()
>>> 
Run Code Online (Sandbox Code Playgroud)

正如你看到的,我不能申请lenP,因为它不是一个数组....有什么样isarrayisscalar在Python?

谢谢

python arrays variables scalar

258
推荐指数
7
解决办法
27万
查看次数

python:使用字典使用matplotlib绘制一个条形图

有没有办法matplotlib直接从dict使用数据绘制条形图?

我的字典看起来像这样:

D = {u'Label1':26, u'Label2': 17, u'Label3':30}
Run Code Online (Sandbox Code Playgroud)

我在期待

fig = plt.figure(figsize=(5.5,3),dpi=300)
ax = fig.add_subplot(111)
bar = ax.bar(D,range(1,len(D)+1,1),0.5)
Run Code Online (Sandbox Code Playgroud)

工作,但它没有.

这是错误:

>>> ax.bar(D,range(1,len(D)+1,1),0.5)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/site-packages/matplotlib/axes.py", line 4904, in bar
    self.add_patch(r)
  File "/usr/local/lib/python2.7/site-packages/matplotlib/axes.py", line 1570, in add_patch
    self._update_patch_limits(p)
  File "/usr/local/lib/python2.7/site-packages/matplotlib/axes.py", line 1588, in _update_patch_limits
    xys = patch.get_patch_transform().transform(vertices)
  File "/usr/local/lib/python2.7/site-packages/matplotlib/patches.py", line 580, in get_patch_transform
    self._update_patch_transform()
  File "/usr/local/lib/python2.7/site-packages/matplotlib/patches.py", line 576, in _update_patch_transform
    bbox = transforms.Bbox.from_bounds(x, y, width, height)
  File "/usr/local/lib/python2.7/site-packages/matplotlib/transforms.py", line …
Run Code Online (Sandbox Code Playgroud)

python plot matplotlib

76
推荐指数
7
解决办法
11万
查看次数

计算2D阵列中的尺寸平均值

我有这样一个数组a:

a = [[40, 10], [50, 11]]
Run Code Online (Sandbox Code Playgroud)

我需要分别计算每个维度的平均值,结果应为:

[45, 10.5]
Run Code Online (Sandbox Code Playgroud)

45是平均a[*][0]10.5平均a[*][1].

在不使用循环的情况下解决此问题的最优雅方法是什么?

python arrays numpy mean multidimensional-array

63
推荐指数
3
解决办法
10万
查看次数

Homebrew + Python on mac os x 10.8:致命的Python错误:PyThreadState_Get:没有当前线程导入mapnik

我的mac上有2个pythons(10.8.3):默认版本,以及自制软件的2.7版本.

到目前为止,我可以安装模块并将其与我的brew python一起使用.我安装了mapnik brew install mapnik(mapnik-2.1.0)并且编译正确.但是,如果我打开python并输入import mapnik,则出现以下错误并且python退出:

>>> import mapnik
Fatal Python error: PyThreadState_Get: no current thread
Abort trap: 6
Run Code Online (Sandbox Code Playgroud)

Mac OS x还显示错误窗口,其中包含以下内容:

Process:         Python [60666]
Path:            /usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
Identifier:      Python
Version:         2.7.3 (2.7.3)
Code Type:       X86-64 (Native)
Parent Process:  bash [60454]
User ID:         501

Date/Time:       2013-03-28 10:21:08.535 +0100
OS Version:      Mac OS X 10.8.3 (12D78)
Report Version:  10

Interval Since Last Report:          128837 sec
Crashes Since Last Report:           5
Per-App Crashes Since Last Report:   4
Anonymous UUID: …
Run Code Online (Sandbox Code Playgroud)

python homebrew module mapnik

32
推荐指数
1
解决办法
4万
查看次数

如何在matplotlib色彩映射中重新定义特定值的颜色

我想rainbow在图像中使用色彩映射imshow.它工作得很好,但我想重新定义价值的颜色0.我想用白色而不是暴力.

我想只为零值执行此操作,所有其他值可以保留在colormap中的默认值.

任何想法如何做到这一点,无需手动编辑色彩映射?

python matplotlib color-mapping

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

是否可以通过xcode更改iOS应用程序的名称?

我们想发布我们的应用程序的更新.更新后是否可以重命名应用程序?假设该应用程序名为myApp,我希望在更新后将其称为myApp 2 ...可以这样做吗?

xcode itunes-store ios

22
推荐指数
4
解决办法
3万
查看次数

python + pymongo:如何在for循环中在mongo中的现有文档中插入新字段

我在python中使用for循环来循环查询pymongo的查询结果.这是代码:

from pymongo import MongoClient
connection = MongoClient()
db = connection.Test

myDocs = db.Docs.find( { "geolocCountry" : { "$exists" : False } } )

for b in myDrives:
    my_lat = b['TheGpsLog'][0]['latitude']
    my_long = b['TheGpsLog'][0]['longitude']

    myGeolocCountry = DoReverseGeocode(lat_start,long_start) 
    #    Here I perform a reverse geocoding, it does not matter for this example. 
    #    The important thing is: it returns a string, like 'US', 'UK', etc...
Run Code Online (Sandbox Code Playgroud)

我的问题是,如何将变量myGeolocCountry插入geolocCountry现有文档(b)的非现有字段?

我试过了

b['geolocCountry'] = myGeolocCountry
Run Code Online (Sandbox Code Playgroud)

但它根本不起作用,它甚至不会产生错误.

谢谢

python insert mongodb pymongo

14
推荐指数
3
解决办法
2万
查看次数

在python 2.7中将包含datetime.timedelta的numpy数组转换为秒的优雅方法

我有一个叫做numpy的数组dt.每个元素都是类型datetime.timedelta.例如:

>>>dt[0]
datetime.timedelta(0, 1, 36000)
Run Code Online (Sandbox Code Playgroud)

如何转换dtdt_sec只包含秒而不循环的数组?我目前的解决方案(有效,但我不喜欢)是:

dt_sec = zeros((len(dt),1))
for i in range(0,len(dt),1):
    dt_sec[i] = dt[i].total_seconds()
Run Code Online (Sandbox Code Playgroud)

我尝试使用,dt.total_seconds()但当然它没有用.关于如何避免这种循环的任何想法?

谢谢

python arrays datetime loops numpy

9
推荐指数
2
解决办法
9363
查看次数

python + matplotlib:如何在极坐标图中的轴和刻度标签之间插入更多空格?

我正在尝试用matplotlib和python 2.7创建一个极坐标图,但我正在努力如何增加同一轴的X轴和刻度线标签之间的空间.正如你在图片上看到的那样,12点和6点的标签看起来很好,我希望所有其他标签都有相同的空间.

我试过了

ax.xaxis.LABELPAD = 10
Run Code Online (Sandbox Code Playgroud)

但它没有任何影响.

在此输入图像描述

这是我的代码(抱歉这个烂摊子......):

import numpy as np
import matplotlib as mpl
mpl.use('Agg')
import matplotlib.pyplot as plt
import matplotlib.dates
from matplotlib.dates import YearLocator, MonthLocator, DateFormatter
import matplotlib.cm as cm
import matplotlib.ticker as tkr
import pdb
def plot_clock(data,filename,path,**kwargs): # (x,y,colors,lab_x,lab_y,xTicks,filename,legend,**kwargs):
    bins = [0,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5,11.5,12,12.5,13.5,14.5,15.5,16.5,17.5,18.5,19.5,20.5,21.5,22.5,23.5,23.999999];
    data = np.array(data)/(60*60)
    DATA_ = np.histogram(data,bins)[0]
    def hour_formatAM(x, p):
        #pdb.set_trace()
        if x > 0:
            return str(format(x*6/np.pi, "01.0f") + ':00')
        else:
            return '12:00'

    def hour_formatPM(x, p):
        #pdb.set_trace()
        if x > 0:
            return str(format(x*6/np.pi+12, "01.0f") + …
Run Code Online (Sandbox Code Playgroud)

python charts matplotlib

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

使用python和scikit-learn的DBSCAN:make_blobs返回的整数实验是什么?

我试图理解scikit实现的DBSCAN算法的例子(http://scikit-learn.org/0.13/auto_examples/cluster/plot_dbscan.html).

我换了线

X, labels_true = make_blobs(n_samples=750, centers=centers, cluster_std=0.4)
Run Code Online (Sandbox Code Playgroud)

X = my_own_data,所以我可以使用我自己的数据为DBSCAN.

现在,变量labels_true,即第二个返回的参数make_blobs用于计算结果的某些值,如下所示:

print "Homogeneity: %0.3f" % metrics.homogeneity_score(labels_true, labels)
print "Completeness: %0.3f" % metrics.completeness_score(labels_true, labels)
print "V-measure: %0.3f" % metrics.v_measure_score(labels_true, labels)
print "Adjusted Rand Index: %0.3f" % \
    metrics.adjusted_rand_score(labels_true, labels)
print "Adjusted Mutual Information: %0.3f" % \
    metrics.adjusted_mutual_info_score(labels_true, labels)
print ("Silhouette Coefficient: %0.3f" %
       metrics.silhouette_score(D, labels, metric='precomputed'))
Run Code Online (Sandbox Code Playgroud)

我怎样才能labels_true从我的数据中计算出来X?scikit到底是什么意思label

谢谢你的帮助!

python dbscan scikit-learn

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