2013-11-27 48 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

適用於我 - 請參閱我的更新的答案。如何刪除重複項目聽起來像是一個新問題。 –

相關問題