如何解决 TypeError:'numpy.ndarray' 对象在 Python 上不可调用

Posted

技术标签:

【中文标题】如何解决 TypeError:\'numpy.ndarray\' 对象在 Python 上不可调用【英文标题】:How to solve TypeError: 'numpy.ndarray' object is not callable on Python如何解决 TypeError:'numpy.ndarray' 对象在 Python 上不可调用 【发布时间】:2013-12-12 12:40:30 【问题描述】:

我正在努力在 python 中聚合 Json 文件 我使用列表理解来获取所有机构负责人

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()]

但是好像不行啊!

【问题讨论】:

我知道那个api!只要确保你知道github.com/codeforamerica/srtracker 【参考方案1】:

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)

【讨论】:

我们怎样才能这样删除重复项 为我工作——查看我更新的答案。如何删除重复项听起来像是一个新问题。 是的!因为已经创建了第一个方法以避免重复 “第一种方法”是什么意思?我在您原来的问题中没有看到任何关于删除重复项的内容。 np.[x.get("agency_responsible") for x in d.values()]

以上是关于如何解决 TypeError:'numpy.ndarray' 对象在 Python 上不可调用的主要内容,如果未能解决你的问题,请参考以下文章

TypeError: DisplayMarketingMessage() 没有参数如何解决它

TypeError: Cannot read property 'scrollIntoView' of null 如何解决?

如何解决“TypeError:process.getuid 不是函数”

将 Bot 部署到 Heroku 时如何解决 TypeError?

如何解决:TypeError:null 不是对象(评估“AgoraRtcChannelModule.prefix”)?

如何解决 TypeError:'numpy.ndarray' 对象在 Python 上不可调用