2013-11-27 47 views
1

我的工作聚集在python JSON文件我用一个列表理解让所有的机构responsibles如何解决类型错误:“numpy.ndarray”对象不是Python的

import pandas as pd 
import numpy as np 

url = "http://311api.cityofchicago.org/open311/v2/requests.json"; 
d= pd.read_json(url)  
ar = [x.get("agency_responsible") for x in d.values()] 

我得到这个调用错误:

Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
TypeError: 'numpy.ndarray' object is not callable 

然后我试图通过添加numpy和处理数组来解决此问题。

import numpy as np 
    np.[x.get("agency_responsible") for x in d.values()] 

但它似乎并没有解决问题!

+1

我知道,API!只要确保你知道https://github.com/codeforamerica/srtracker – tacaswell

回答

3

values是DataFrame的属性,而不是方法。只需使用d.values即可访问阵列。

其实,我觉得你想要的是简单的:

ar = d['agency_responsible'].values 

ar = d.agency_responsible.values 

下面是一个实际的会话:

In [1]: import pandas as pd 

In [2]: url = "http://311api.cityofchicago.org/open311/v2/requests.json" 

In [3]: d = pd.read_json(url) 

In [4]: type(d) 
Out[4]: pandas.core.frame.DataFrame 

In [5]: ar = d.agency_responsible.values 

In [6]: ar[0] 
Out[6]: u'Bureau of Street Operations - Graffiti' 

In [7]: ar[:4] 
Out[7]: 
array([u'Bureau of Street Operations - Graffiti', 
     u'Division of Electrical Operations CDOT', 
     u'Bureau of Rodent Control - S/S', 
     u'Division of Electrical Operations CDOT'], dtype=object) 
+0

不!它不工作 – user3001937

+0

我们如何删除重复这种方式 – user3001937

+0

适用于我 - 请参阅我的更新的答案。如何删除重复项目听起来像是一个新问题。 –

相关问题